Skip to content

Bring the action into compliance with the GitHub Actions standard #105

Description

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

  • Action-Test.yml: replace -latest runner(s) with pinned image
  • Linter.yml: replace -latest runner(s) with pinned image
  • Release.yml: replace -latest runner(s) with pinned image; set cancel-in-progress: false
  • Confirm actionlint and zizmor pass via the linter workflow

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions