This commit is contained in:
Alexis Métaireau 2024-10-23 16:59:24 +02:00 committed by GitHub
commit 06a61ceddf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,6 +1,8 @@
name: Tests
on:
push:
branches-ignore:
- main
pull_request:
branches: [main]
schedule:
@ -24,7 +26,24 @@ concurrency:
cancel-in-progress: true
jobs:
should-run:
runs-on: ubuntu-latest
outputs:
run-workflow: ${{ steps.check.outputs.run-workflow }}
steps:
- id: check
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
echo "run-workflow=true" >> $GITHUB_OUTPUT
elif [[ "${{ github.event_name }}" == "push" && "${{ github.ref }}" != "refs/heads/main" ]]; then
echo "run-workflow=true" >> $GITHUB_OUTPUT
else
echo "run-workflow=false" >> $GITHUB_OUTPUT
fi
run-lint:
needs: should-run
if: needs.should-run.outputs.run-workflow == 'true'
runs-on: ubuntu-latest
container:
image: debian:bookworm
@ -43,6 +62,8 @@ jobs:
# This is already built daily by the "build.yml" file
# But we also want to include this in the checks that run on each push.
build-container-image:
needs: should-run
if: needs.should-run.outputs.run-workflow == 'true'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
@ -67,6 +88,8 @@ jobs:
python3 ./install/common/build-image.py
download-tessdata:
needs: should-run
if: needs.should-run.outputs.run-workflow == 'true'
name: Download and cache Tesseract data
runs-on: ubuntu-latest
steps:
@ -91,7 +114,10 @@ jobs:
windows:
runs-on: windows-latest
needs: download-tessdata
needs:
- download-tessdata
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
env:
DUMMY_CONVERSION: 1
steps:
@ -121,7 +147,10 @@ jobs:
macOS:
name: "macOS (${{ matrix.arch }})"
runs-on: ${{ matrix.runner }}
needs: download-tessdata
needs:
- download-tessdata
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy:
matrix:
include:
@ -149,9 +178,12 @@ jobs:
run: poetry run make test
build-deb:
needs:
- should-run
- build-container-image
if: needs.should-run.outputs.run-workflow == 'true'
name: "build-deb (${{ matrix.distro }} ${{ matrix.version }})"
runs-on: ubuntu-latest
needs: build-container-image
strategy:
matrix:
include:
@ -221,7 +253,10 @@ jobs:
install-deb:
name: "install-deb (${{ matrix.distro }} ${{ matrix.version }})"
runs-on: ubuntu-latest
needs: build-deb
needs:
- build-deb
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy:
matrix:
include:
@ -277,7 +312,10 @@ jobs:
build-install-rpm:
name: "build-install-rpm (${{ matrix.distro }} ${{matrix.version}})"
runs-on: ubuntu-latest
needs: build-container-image
needs:
- build-container-image
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy:
matrix:
distro: ["fedora"]
@ -343,6 +381,8 @@ jobs:
needs:
- build-container-image
- download-tessdata
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy:
matrix:
include: