Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: codeql-analysis-ocr-service
name: "CodeQL Advanced"

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '36 15 * * 6'
- cron: '19 7 * * 0'

jobs:
analyze:
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/docker_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: docker-ocr-service

on:
push:
branches: [main]
tags: ['ocr-service-v*.*.*']
paths:
- "apps/ocr-service/**"
- ".github/workflows/docker_build.yml"
- ".github/workflows/ocr-service-**"
pull_request:
paths:
- "apps/ocr-service/**"
- ".github/workflows/docker_build.yml"
- ".github/workflows/ocr-service-**"
release:
types: [published]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
if: github.event_name != 'release' || startsWith(github.event.release.tag_name, 'ocr-service-v')
uses: ./.github/workflows/ocr-service-docker-template.yml
with:
image: cogstacksystems/cogstack-ocr-service
context: apps/ocr-service
dockerfile: apps/ocr-service/Dockerfile
cache_scope: cogstack-ocr-service
secrets: inherit
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,23 @@ name: docker-smoke-ocr-service
on:
push:
branches: [ "*" ]
paths:
- "apps/ocr-service/**"
- ".github/workflows/ocr-service-**"
pull_request:
branches: [ "*" ]
paths:
- "apps/ocr-service/**"
- ".github/workflows/ocr-service-**"
workflow_dispatch:

permissions:
contents: read

defaults:
run:
working-directory: apps/ocr-service

jobs:
smoke:
runs-on: ubuntu-24.04
Expand Down Expand Up @@ -86,7 +96,7 @@ jobs:
make stop-all

smoke-prebuilt-image:
if: github.event_name == 'workflow_dispatch' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
if: github.event_name == 'workflow_dispatch' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/ocr-service-v')
runs-on: ubuntu-24.04

steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,18 @@ jobs:
- if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ inputs.image }}
tags: |
type=semver,pattern={{version}},prefix=v
type=semver,pattern={{major}}.{{minor}},prefix=v
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') }}
type=semver,pattern={{version}},prefix=ocr-service-v
type=semver,pattern={{major}}.{{minor}},prefix=ocr-service-v
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/ocr-service-v') }}
type=ref,event=branch,enable=${{ github.event_name != 'pull_request' }}
type=sha,format=short

Expand Down Expand Up @@ -109,18 +109,18 @@ jobs:
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Docker metadata (again)
id: meta_manifest
uses: docker/metadata-action@v5
with:
images: ${{ inputs.image }}
tags: |
type=semver,pattern={{version}},prefix=v
type=semver,pattern={{major}}.{{minor}},prefix=v
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') }}
type=semver,pattern={{version}},prefix=ocr-service-v
type=semver,pattern={{major}}.{{minor}},prefix=ocr-service-v
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/ocr-service-v') }}
type=ref,event=branch,enable=${{ github.event_name != 'pull_request' }}
type=sha,format=short

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,31 @@ on:

push:
branches: [ "*" ]
paths:
- "apps/ocr-service/**"
- ".github/workflows/ocr-service-**"
pull_request:
branches: [ "*" ]

paths:
- "apps/ocr-service/**"
- ".github/workflows/ocr-service-**"

release:
types: [published]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

defaults:
run:
working-directory: apps/ocr-service

jobs:

build:

if: github.event_name != 'release' || startsWith(github.event.release.tag_name, 'ocr-service-v')
runs-on: ubuntu-24.04

env:
working-directory: ./ocr-service


strategy:
matrix:
python-version: ["3.14"]
Expand All @@ -41,17 +48,18 @@ jobs:
python-version: ${{ matrix.python-version }}
architecture: "x64"
cache: 'pip'
cache-dependency-path: apps/ocr-service/requirements*.txt

# Cache pip
- name: Main Cache pip
if: ${{ !env.ACT }}
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('apps/ocr-service/requirements.txt', 'apps/ocr-service/requirements-dev.txt') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Prepare apt cache
if: ${{ !env.ACT }}
run: |
Expand All @@ -63,7 +71,7 @@ jobs:
uses: actions/cache@v4
with:
path: /var/cache/apt/archives
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/run_tests.yml') }}
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/ocr-service-tests.yml') }}
restore-keys: |
${{ runner.os }}-apt-

Expand Down Expand Up @@ -104,10 +112,10 @@ jobs:
gfortran \
gcc \
g++

##### utils for python and TESSERACT
echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | sudo debconf-set-selections

sudo apt install -y --no-install-recommends fontconfig ttf-mscorefonts-installer libimage-exiftool-perl libtcnative-1 \
libsm6 libxext6 gstreamer1.0-libav fonts-deva fonts-dejavu fonts-gfs-didot fonts-gfs-didot-classic fonts-junicode fonts-ebgaramond fonts-noto-cjk fonts-takao-gothic fonts-vlgothic \
ghostscript ghostscript-x gsfonts gsfonts-other gsfonts-x11 fonts-croscore fonts-crosextra-caladea fonts-crosextra-carlito fonts-liberation fonts-open-sans fonts-noto-core fonts-ibm-plex fonts-urw-base35 \
Expand All @@ -120,7 +128,7 @@ jobs:
sudo apt install -y --no-install-recommends --fix-missing tesseract-ocr-osd tesseract-ocr-lat \
tesseract-ocr-eng tesseract-ocr-enm tesseract-ocr-ita tesseract-ocr-osd tesseract-ocr-script-latn \
tesseract-ocr-fra tesseract-ocr-frk tesseract-ocr-deu tesseract-ocr-ces tesseract-ocr-dan tesseract-ocr-nld tesseract-ocr-nor \
tesseract-ocr-spa tesseract-ocr-swe tesseract-ocr-slk tesseract-ocr-ron tesseract-ocr-script-grek
tesseract-ocr-spa tesseract-ocr-swe tesseract-ocr-slk tesseract-ocr-ron tesseract-ocr-script-grek

# Pillow package requirements
sudo apt install -y --no-install-recommends tcl8.6-dev tk8.6-dev libopenjp2-7-dev libharfbuzz-dev libfribidi-dev libxcb1-dev libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev libglib2.0-dev libgl1
Expand All @@ -144,7 +152,7 @@ jobs:
# keep apt caches so the actions/cache step can reuse downloads
sudo rm -f /var/cache/apt/archives/lock
sudo chown -R $USER:$USER /var/cache/apt/archives

- name: Install python deps & create virtual environment
run: |

Expand All @@ -166,7 +174,7 @@ jobs:
python${{ matrix.python-version }} -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip

pip install --no-cache-dir -r ./requirements.txt
pip install --no-cache-dir -r ./requirements-dev.txt

Expand All @@ -179,12 +187,13 @@ jobs:
- name: Run tests
# Since we are using a virtual env we have to make sure we use the right python version
env:
LIBRE_OFFICE_PYTHON_PATH: ${{ github.workspace }}/venv/bin/python
LIBRE_OFFICE_PYTHON_PATH: ${{ github.workspace }}/apps/ocr-service/venv/bin/python
run: |
export OCR_SERVICE_LOG_LEVEL=10
export OCR_SERVICE_DEBUG_MODE=True
export LIBRE_OFFICE_PYTHON_PATH=/usr/bin/python3
export OCR_TMP_DIR=${{ github.workspace }}/tmp
export OCR_TMP_DIR=${{ github.workspace }}/apps/ocr-service/tmp
mkdir -p "$OCR_TMP_DIR"
source venv/bin/activate
python -m unittest discover -s ocr_service/tests -p 'test_process.py'
shell: bash
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,8 @@ See the latest documentation on [Readthedocs](https://docs.cogstack.org/en/lates
- CogStack deployment instructions and examples
- Helm Charts for deployments
- CogStack platform tools eg Observability.

### Apps
- OCR Service
- CogStack Cohorter
- Cogstack Dashboards Demo
11 changes: 0 additions & 11 deletions apps/ocr-service/.github/dependabot.yml

This file was deleted.

24 changes: 0 additions & 24 deletions apps/ocr-service/.github/workflows/docker_build.yml

This file was deleted.

Loading
Loading