This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ocrd network module and integration tests | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| branches: [ "master" ] | |
| workflow_dispatch: # run manually | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: | |
| - '3.8' | |
| - '3.9' | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| os: | |
| - ubuntu-22.04 | |
| # - macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Homebrew | |
| id: set-up-homebrew | |
| uses: Homebrew/actions/setup-homebrew@master | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Remove Docker images (to save space) | |
| run: | | |
| df -h | |
| docker rmi $(docker images -q) | |
| df -h | |
| - name: Remove Android and .NET (to save space) | |
| run: | | |
| sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android | |
| sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /usr/local/share/boost | |
| sudo du -mscx /* 2>/dev/null || true | |
| df -h / | |
| - name: Install dependencies | |
| run: | | |
| if [[ "${{ matrix.os }}" == "ubuntu"* ]];then | |
| sudo apt-get -y update | |
| sudo make deps-ubuntu | |
| else | |
| HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 \ | |
| HOMEBREW_NO_AUTO_UPDATE=1 \ | |
| brew install imagemagick geos bash # opencv | |
| fi | |
| make install deps-test | |
| - name: Install Docker on macOS | |
| if: runner.os == 'macos' | |
| run: | | |
| brew install docker docker-compose | |
| colima start | |
| - name: Run network modules tests with pytest | |
| run: make network-module-test | |
| - name: Run network integration tests with pytest | |
| run: | | |
| if [[ "${{ matrix.os }}" == "macos"* ]];then | |
| make network-integration-test DOCKER_COMPOSE=docker-compose | |
| else | |
| make network-integration-test | |
| fi |