Compare commits

...

2 commits

Author SHA1 Message Date
1704a82593
Merge 2ba247e09c into 8172195f95 2024-10-28 23:33:40 +00:00
Alexis Métaireau
2ba247e09c
CI: Only run the CI on pull requests, and on the "main" branch
Previously, the actions were duplicated, due to the fact when developing
we often create feature branches and open pull requests.

This new setup requires us to open pull requests to trigger the CI.
2024-10-29 00:33:32 +01:00
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: