Skip to content

Replace cancel-workflow-action with native concurrency - #3154

Merged
antonwolfy merged 5 commits into
masterfrom
native-concurrency-cancel
Nov 5, 2026
Merged

antonwolfy merged 5 commits into
masterfrom
native-concurrency-cancel

Conversation

@antonwolfy

@antonwolfy antonwolfy commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

styfle/cancel-workflow-action was used in conda-package.yml, check-onemath.yaml, generate_coverage.yaml and cron-run-tests.yaml, and each of those jobs needed actions: write for it.

This PR replaces it with native concurrency and aligns the other workflows on the same rules:

  • conda-package.yml, check-onemath.yaml, generate_coverage.yaml, conda-package-cf.yml, os-llvm-sycl-build.yml, zizmor.yml and pre-commit.yml: PR runs share a ${{ github.workflow }}-${{ github.ref }} group and cancel superseded runs, while other runs get a unique group via github.run_id, so every master commit is validated. In zizmor.yml this replaces github.head_ref, which put PRs from different forks with the same branch name in one group.
  • cron-run-tests.yaml and coverity.yml only run on schedule and manual dispatch, so they get no concurrency group and every run completes.
  • build-sphinx.yml and bump-sycl-deps.yml are unchanged: their runs push to gh-pages or to the dependency-bump PR branch, so a shared group keeps those pushes from racing and the newest run wins.

The actions: write grants are removed, so these jobs now run with read-only permissions.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • Have you added documentation for your changes, if necessary?
  • Have you added your changes to the changelog?

Use a top-level concurrency group in conda-package.yml, check-onemath.yaml, generate_coverage.yaml and cron-run-tests.yaml instead of styfle/cancel-workflow-action, and drop the actions: write permission it needed. Superseded PR runs are cancelled, master runs are not.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Shared concurrency groups still allow newer master pushes to cancel pending runs and skip commit validation in three workflows, even with cancel-in-progress set to false.

1 open issue
What changed in this PR

Replaces the third-party workflow cancellation action with native GitHub Actions concurrency across four CI workflows, removing the associated write permissions.

Changes:

  • Adds workflow-level concurrency groups keyed by workflow and ref.
  • Enables cancellation of active runs for PR events in build and coverage workflows, and unconditionally in the scheduled test workflow.
  • Removes cancellation steps and their job-level actions: write grants.
File Description
.github/​workflows/​generate_coverage.yaml Adds native coverage-run concurrency and removes cancellation-related write access.
.github/​workflows/​cron-run-tests.yaml Enables native cancellation of superseded test runs and removes write access.
.github/​workflows/​conda-package.yml Adds package-build concurrency and removes the cancellation action and write grant.
.github/​workflows/​check-onemath.yaml Adds oneMath validation concurrency and removes the cancellation action and write grant.

Review effort: Balanced

Comment thread .github/workflows/conda-package.yml Resolved
@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Array API standard conformance tests for dpnp=0.22.0dev0=np2py314h8d9cdd5_32 ran successfully.
Passed: 1491
Failed: 0
Skipped: 6

@coveralls

coveralls commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Coverage Status

coverage: 84.396%. remained the same — native-concurrency-cancel into master

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The workflow concurrency changes have no active review issues.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

View rendered docs @ https://intelpython.github.io/dpnp/index.html

Comment thread .github/workflows/cron-run-tests.yaml Resolved
Comment thread .github/workflows/conda-package.yml Resolved
antonwolfy and others added 2 commits November 5, 2026 14:17
PR-triggered workflows cancel only superseded PR runs and give other runs a unique group; schedule/dispatch-only workflows drop the group so every run completes.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are recorded for the workflow concurrency and cancellation changes.

No open issues 🎉

Review effort: Balanced

@antonwolfy
antonwolfy merged commit b2218b4 into master Nov 5, 2026
104 of 108 checks passed
@antonwolfy
antonwolfy deleted the native-concurrency-cancel branch November 5, 2026 15:56
github-actions Bot added a commit that referenced this pull request Nov 5, 2026
`styfle/cancel-workflow-action` was used in `conda-package.yml`,
`check-onemath.yaml`, `generate_coverage.yaml` and
`cron-run-tests.yaml`, and each of those jobs needed `actions: write`
for it.

This PR replaces it with native `concurrency` and aligns the other
workflows on the same rules:

- `conda-package.yml`, `check-onemath.yaml`, `generate_coverage.yaml`,
`conda-package-cf.yml`, `os-llvm-sycl-build.yml`, `zizmor.yml` and
`pre-commit.yml`: PR runs share a `${{ github.workflow }}-${{ github.ref
}}` group and cancel superseded runs, while other runs get a unique
group via `github.run_id`, so every master commit is validated. In
`zizmor.yml` this replaces `github.head_ref`, which put PRs from
different forks with the same branch name in one group.
- `cron-run-tests.yaml` and `coverity.yml` only run on schedule and
manual dispatch, so they get no concurrency group and every run
completes.
- `build-sphinx.yml` and `bump-sycl-deps.yml` are unchanged: their runs
push to `gh-pages` or to the dependency-bump PR branch, so a shared
group keeps those pushes from racing and the newest run wins.

The `actions: write` grants are removed, so these jobs now run with
read-only permissions. b2218b4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants