Skip to content

Commit

Permalink
CI: cancel older concurrent PR runs
Browse files Browse the repository at this point in the history
- Remove the space in the workflow name to ensure there are no side
  effects when using it as an identifier.
- Act on PRs only, not on upstreaming.

Signed-off-by: Axel Heider <[email protected]>
  • Loading branch information
axel-h committed Mar 5, 2024
1 parent ff379cf commit e4ab226
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
15 changes: 14 additions & 1 deletion .github/workflows/sel4test-hw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#
# See sel4test-hw/builds.yml in the repo seL4/ci-actions for configs.

name: seL4Test HW
name: seL4Test-HW

on:
# needs PR target for secrets access; guard by requiring label
Expand All @@ -17,6 +17,19 @@ on:
permissions:
contents: read

# To reduce the load (especially on the machine queue) we cancel any older runs
# of this workflow for the current PR. Such runs exist, if there were new pushes
# to the PR's branch without waiting for the workflow to finish. As a side
# effect, pushing new commits now becomes a convenient way to cancel all the
# older runs, e.g. if they are stuck and would only be stopped by the timeout
# eventually.
# Note that we could do the concurrency handling at a finer level, and only wrap
# the actual run on the hardware. But there seems not much gain in letting the
# older builds run, as these are usually obsolete with new pushes also.
concurrency:
group: ${{ github.workflow }}-pr-${{ github.event.number }}
cancel-in-progress: true

jobs:
hw-build:
name: HW Build
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/sel4test-sim.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,24 @@
#
# See sel4test-sim/builds.yml in the repo seL4/ci-actions for configs.

name: seL4Test Sim
name: seL4Test-Sim

on:
push:
branches: [master]
pull_request:

# To reduce the load we cancel any older runs of this workflow for the current
# PR. Such runs exist, if there were new pushes to the PR's branch without
# waiting for the workflow to finish. As a side effect, pushing new commits now
# becomes a convenient way to cancel all the older runs, e.g. if they are stuck
# and would only be stopped by the timeout eventually.
# For deployment to the master branch, the workflow will run on each push, no
# skipping or cancellation will practically happen.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || format('run-{0}', github.run_id) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
simulation:
name: Simulation
Expand Down

0 comments on commit e4ab226

Please sign in to comment.