Skip to content

Commit

Permalink
CI: Only run the CI on pull requests, and on the "main" branch
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
almet committed Oct 28, 2024
1 parent 03b3c9e commit 2ba247e
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Build dev environments
on:
push:
pull_request:
schedule:
- cron: "0 0 * * *" # Run every day at 00:00 UTC.

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check_push.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Check branch conformity
on:
push:
pull_request:

jobs:
prevent-fixup-commits:
Expand Down
51 changes: 45 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: Tests
on:
push:
branches:
- main
pull_request:
branches: [main]
schedule:
- cron: "2 0 * * *" # Run every day at 02:00 UTC.
workflow_dispatch:
Expand All @@ -24,7 +25,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
Expand All @@ -43,6 +61,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
Expand All @@ -67,6 +87,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:
Expand All @@ -91,7 +113,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:
Expand Down Expand Up @@ -121,7 +146,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:
Expand Down Expand Up @@ -149,9 +177,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:
Expand Down Expand Up @@ -221,7 +252,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:
Expand Down Expand Up @@ -277,7 +311,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"]
Expand Down Expand Up @@ -343,6 +380,8 @@ jobs:
needs:
- build-container-image
- download-tessdata
- should-run
if: needs.should-run.outputs.run-workflow == 'true'
strategy:
matrix:
include:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/scan.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: Scan latest app and container
on:
push:
branches:
- main
pull_request:
branches: [ main ]
schedule:
- cron: '0 0 * * *' # Run every day at 00:00 UTC.
workflow_dispatch:
Expand Down

0 comments on commit 2ba247e

Please sign in to comment.