This commit is contained in:
Alexis Métaireau 2024-10-29 16:45:20 +01:00 committed by GitHub
commit 88b094a3a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 49 additions and 9 deletions

View file

@ -1,6 +1,6 @@
name: Build dev environments name: Build dev environments
on: on:
push: pull_request:
schedule: schedule:
- cron: "0 0 * * *" # Run every day at 00:00 UTC. - cron: "0 0 * * *" # Run every day at 00:00 UTC.

View file

@ -1,6 +1,6 @@
name: Check branch conformity name: Check branch conformity
on: on:
push: pull_request:
jobs: jobs:
prevent-fixup-commits: prevent-fixup-commits:

View file

@ -1,8 +1,9 @@
name: Tests name: Tests
on: on:
push: push:
branches:
- main
pull_request: pull_request:
branches: [main]
schedule: schedule:
- cron: "2 0 * * *" # Run every day at 02:00 UTC. - cron: "2 0 * * *" # Run every day at 02:00 UTC.
workflow_dispatch: workflow_dispatch:
@ -24,7 +25,24 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: 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: run-lint:
needs: should-run
if: needs.should-run.outputs.run-workflow == 'true'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: debian:bookworm image: debian:bookworm
@ -43,6 +61,8 @@ jobs:
# This is already built daily by the "build.yml" file # 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. # But we also want to include this in the checks that run on each push.
build-container-image: build-container-image:
needs: should-run
if: needs.should-run.outputs.run-workflow == 'true'
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -67,6 +87,8 @@ jobs:
python3 ./install/common/build-image.py python3 ./install/common/build-image.py
download-tessdata: download-tessdata:
needs: should-run
if: needs.should-run.outputs.run-workflow == 'true'
name: Download and cache Tesseract data name: Download and cache Tesseract data
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -91,7 +113,10 @@ jobs:
windows: windows:
runs-on: windows-latest runs-on: windows-latest
needs: download-tessdata needs:
- download-tessdata
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
env: env:
DUMMY_CONVERSION: 1 DUMMY_CONVERSION: 1
steps: steps:
@ -121,7 +146,10 @@ jobs:
macOS: macOS:
name: "macOS (${{ matrix.arch }})" name: "macOS (${{ matrix.arch }})"
runs-on: ${{ matrix.runner }} runs-on: ${{ matrix.runner }}
needs: download-tessdata needs:
- download-tessdata
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy: strategy:
matrix: matrix:
include: include:
@ -149,9 +177,12 @@ jobs:
run: poetry run make test run: poetry run make test
build-deb: build-deb:
needs:
- should-run
- build-container-image
if: needs.should-run.outputs.run-workflow == 'true'
name: "build-deb (${{ matrix.distro }} ${{ matrix.version }})" name: "build-deb (${{ matrix.distro }} ${{ matrix.version }})"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build-container-image
strategy: strategy:
matrix: matrix:
include: include:
@ -221,7 +252,10 @@ jobs:
install-deb: install-deb:
name: "install-deb (${{ matrix.distro }} ${{ matrix.version }})" name: "install-deb (${{ matrix.distro }} ${{ matrix.version }})"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build-deb needs:
- build-deb
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy: strategy:
matrix: matrix:
include: include:
@ -277,7 +311,10 @@ jobs:
build-install-rpm: build-install-rpm:
name: "build-install-rpm (${{ matrix.distro }} ${{matrix.version}})" name: "build-install-rpm (${{ matrix.distro }} ${{matrix.version}})"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build-container-image needs:
- build-container-image
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy: strategy:
matrix: matrix:
distro: ["fedora"] distro: ["fedora"]
@ -343,6 +380,8 @@ jobs:
needs: needs:
- build-container-image - build-container-image
- download-tessdata - download-tessdata
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy: strategy:
matrix: matrix:
include: include:

View file

@ -1,8 +1,9 @@
name: Scan latest app and container name: Scan latest app and container
on: on:
push: push:
branches:
- main
pull_request: pull_request:
branches: [ main ]
schedule: schedule:
- cron: '0 0 * * *' # Run every day at 00:00 UTC. - cron: '0 0 * * *' # Run every day at 00:00 UTC.
workflow_dispatch: workflow_dispatch: