mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-04-28 18:02:38 +02:00
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.
This commit is contained in:
parent
03b3c9eba8
commit
2ba247e09c
4 changed files with 49 additions and 9 deletions
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
name: Build dev environments
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: "0 0 * * *" # Run every day at 00:00 UTC.
|
||||
|
||||
|
|
2
.github/workflows/check_push.yml
vendored
2
.github/workflows/check_push.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
name: Check branch conformity
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
prevent-fixup-commits:
|
||||
|
|
51
.github/workflows/ci.yml
vendored
51
.github/workflows/ci.yml
vendored
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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"]
|
||||
|
@ -343,6 +380,8 @@ jobs:
|
|||
needs:
|
||||
- build-container-image
|
||||
- download-tessdata
|
||||
- should-run
|
||||
if: needs.should-run.outputs.run-workflow == 'true'
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
|
|
3
.github/workflows/scan.yml
vendored
3
.github/workflows/scan.yml
vendored
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue