ci: Replace cancel-previous-runs job with concurrency configuration.

Using ‘github.head_ref || github.run_id’ makes this only cancel
in-progress jobs for pull_request events.

https://docs.github.com/en/actions/using-jobs/using-concurrency

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg 2022-07-04 16:14:47 -07:00 committed by Tim Abbott
parent d104407531
commit 4a11642cee
4 changed files with 12 additions and 43 deletions

View File

@ -1,43 +0,0 @@
name: Cancel previous runs
on: [push, pull_request]
defaults:
run:
shell: bash
jobs:
cancel:
name: Cancel previous runs
runs-on: ubuntu-latest
timeout-minutes: 3
# Don't run this job for zulip/zulip pushes since we
# want to run those jobs.
if: ${{ github.event_name != 'push' || github.event.repository.full_name != 'zulip/zulip' }}
steps:
# We get workflow IDs from GitHub API so we don't have to maintain
# a hard-coded list of IDs which need to be updated when a workflow
# is added or removed. And, workflow IDs are different for other forks
# so this is required.
- name: Get workflow IDs.
id: workflow_ids
continue-on-error: true # Don't fail this job on failure
env:
# This is in <owner>/<repo> format e.g. zulip/zulip
REPOSITORY: ${{ github.repository }}
run: |
workflow_api_url=https://api.github.com/repos/$REPOSITORY/actions/workflows
curl -fL $workflow_api_url -o workflows.json
script="const {workflows} = require('./workflows'); \
const ids = workflows.map(workflow => workflow.id); \
console.log(ids.join(','));"
ids=$(node -e "$script")
echo "::set-output name=ids::$ids"
- uses: styfle/cancel-workflow-action@0.9.0
continue-on-error: true # Don't fail this job on failure
with:
workflow_id: ${{ steps.workflow_ids.outputs.ids }}
access_token: ${{ github.token }}

View File

@ -6,6 +6,10 @@ on:
- dependabot/** # https://github.com/github/codeql-action/pull/435 - dependabot/** # https://github.com/github/codeql-action/pull/435
pull_request: {} pull_request: {}
concurrency:
group: "${{ github.workflow }}-${{ github.head_ref || github.run_id }}"
cancel-in-progress: true
jobs: jobs:
CodeQL: CodeQL:
if: ${{!github.event.repository.private}} if: ${{!github.event.repository.private}}

View File

@ -22,6 +22,10 @@ on:
- zerver/decorator.py - zerver/decorator.py
- zproject/** - zproject/**
concurrency:
group: "${{ github.workflow }}-${{ github.head_ref || github.run_id }}"
cancel-in-progress: true
defaults: defaults:
run: run:
shell: bash shell: bash

View File

@ -6,6 +6,10 @@ name: Zulip CI
on: [push, pull_request] on: [push, pull_request]
concurrency:
group: "${{ github.workflow }}-${{ github.head_ref || github.run_id }}"
cancel-in-progress: true
defaults: defaults:
run: run:
shell: bash shell: bash