The workflows in this repository deviate from the organization's GitHub Actions coding standard. CI here is defined by this repository's own inline workflows (it does not consume a shared reusable workflow), so the corrections are applied directly in this repository.
Request
1. Pin the runner image
The standard requires pinning runs-on to a specific image (ubuntu-24.04) rather than ubuntu-latest, so a runner upgrade is a deliberate, reviewable change rather than a silent one.
Workflows currently using a -latest runner:
Action-Test.yml (direct)
Linter.yml (direct)
Release.yml (direct)
2. Queue release runs instead of cancelling mid-publish
The standard requires cancel-in-progress: false for workflows that publish, deploy, or mutate shared state, so a release run queues rather than aborting mid-write.
Release.yml currently sets cancel-in-progress: true and creates a release, so it must be false.
Acceptance criteria
- No workflow uses a
-latest runner; every runs-on names a specific image (e.g. ubuntu-24.04).
- The release workflow sets
cancel-in-progress: false.
- Test and lint workflows may keep
cancel-in-progress: true (cancelling superseded runs is fine).
Technical decisions
Runner image. Replace ubuntu-latest with ubuntu-24.04.
Concurrency. Set cancel-in-progress: false on the release workflow only. Test and lint workflows keep cancel-in-progress: true — cancelling a superseded test run is desirable and is not a publish action.
Scaffold. These workflows are seeded from Template-Action; the same corrections should also land there so regenerated repositories stay compliant.
Out of scope. Dependabot update grouping and semver update labels are intentionally not used and are excluded here (see the standard update in MSXOrg/docs#19 and PSModule/Process-PSModule#359).
Implementation plan
The workflows in this repository deviate from the organization's GitHub Actions coding standard. CI here is defined by this repository's own inline workflows (it does not consume a shared reusable workflow), so the corrections are applied directly in this repository.
Request
1. Pin the runner image
The standard requires pinning
runs-onto a specific image (ubuntu-24.04) rather thanubuntu-latest, so a runner upgrade is a deliberate, reviewable change rather than a silent one.Workflows currently using a
-latestrunner:Action-Test.yml(direct)Linter.yml(direct)Release.yml(direct)2. Queue release runs instead of cancelling mid-publish
The standard requires
cancel-in-progress: falsefor workflows that publish, deploy, or mutate shared state, so a release run queues rather than aborting mid-write.Release.ymlcurrently setscancel-in-progress: trueand creates a release, so it must befalse.Acceptance criteria
-latestrunner; everyruns-onnames a specific image (e.g.ubuntu-24.04).cancel-in-progress: false.cancel-in-progress: true(cancelling superseded runs is fine).Technical decisions
Runner image. Replace
ubuntu-latestwithubuntu-24.04.Concurrency. Set
cancel-in-progress: falseon the release workflow only. Test and lint workflows keepcancel-in-progress: true— cancelling a superseded test run is desirable and is not a publish action.Scaffold. These workflows are seeded from
Template-Action; the same corrections should also land there so regenerated repositories stay compliant.Out of scope. Dependabot update grouping and semver update labels are intentionally not used and are excluded here (see the standard update in MSXOrg/docs#19 and PSModule/Process-PSModule#359).
Implementation plan
Action-Test.yml: replace-latestrunner(s) with pinned imageLinter.yml: replace-latestrunner(s) with pinned imageRelease.yml: replace-latestrunner(s) with pinned image; setcancel-in-progress: falseactionlintandzizmorpass via the linter workflow