Skip to content

chore: upgrade action runtime to Node 24 - #71

Merged
John C. Bland II (johncblandii) merged 4 commits into
mainfrom
chore/node24-runtime-upgrade
Aug 13, 2026
Merged

chore: upgrade action runtime to Node 24#71
John C. Bland II (johncblandii) merged 4 commits into
mainfrom
chore/node24-runtime-upgrade

Conversation

@johncblandii

Copy link
Copy Markdown
Contributor

what

  • Change the action runtime from node20 to node24 in action.yml

why

  • GitHub is deprecating the Node 20 runtime; actions declaring runs.using: node20 emit a
    deprecation warning for every consumer and are already being force-migrated to Node 24
  • Declaring node24 makes the migration deliberate rather than implicit
  • The committed dist/ bundle is unchanged (no source changes, so check-dist still matches);
    it was smoke-tested locally under Node 24, and this repo's integration tests exercise the bundle
    end-to-end via uses: ./ on this PR, now running on Node 24

references

Copilot AI lite review requested due to automatic review settings August 12, 2026 20:27
@johncblandii John C. Bland II (johncblandii) added the patch A minor, backward compatible change label Aug 12, 2026

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.

Pull request overview

Updates the GitHub Action metadata to explicitly run the bundled JavaScript action on the Node 24 runtime, aligning the action with GitHub Actions runner runtime deprecations/migrations.

Changes:

  • Switched runs.using in action.yml from node20 to node24.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@johncblandii

Copy link
Copy Markdown
Contributor Author

Note: the build-and-test failures on this PR are pre-existing and unrelated to the runtime bump — the identical unit/integration failures (atmos_cli_config.components.terraform.base_path resolving to empty) appear on unrelated Renovate PRs since 2026-08-10 (e.g. run 31443943285), which points at a behavior change in the latest atmos release pulled in via atmos-version: latest. The single setting job additionally hit a transient 503 downloading the atmos release binary.

atmos v1.225.0+ no longer emits atmos_cli_config in 'describe component'
output, which this action's tests (and consumers) depend on.
See cloudposse/atmos#2933.
@johncblandii

Copy link
Copy Markdown
Contributor Author

Root-caused and fixed the pre-existing CI failures in this PR (e92f46b): atmos v1.225.0 removed atmos_cli_config from describe component output — bisected locally: v1.224.0 emits .atmos_cli_config.components.terraform.base_path = components/terraform, v1.225.0 and v1.226.0-rc.6 emit null. Since the test workflows install atmos-version: latest, every PR here has been red since Aug 10.

Atmos editions >= 2026-07-17 (shipped in v1.225.0) default
describe.component.filter to 'schema', dropping computed sections
like atmos_cli_config from 'atmos describe component' output. The
action now sets ATMOS_DESCRIBE_COMPONENT_FILTER=full (respecting an
explicit override) so settings-paths keep resolving on any atmos
version; the CI atmos-version pin is reverted. Verified against
atmos 1.224.0, 1.225.0, and 1.226.0-rc.6 (9/9 tests pass on each).
@johncblandii

Copy link
Copy Markdown
Contributor Author

Update per review feedback — the earlier version-pin is gone; this is edition-gated behavior with a supported knob, not a hard regression (3926b9d):

  • Root cause refined: atmos edition 2026-07-17 (first shipped in v1.225.0) flips the describe.component.filter default from full to schema, which drops computed sections like atmos_cli_config from describe component output (atmos list editions documents it).
  • Action fix: runAtmosDescribeComponent now sets ATMOS_DESCRIBE_COMPONENT_FILTER=full (respecting an explicit override from the caller), so settings-paths keep resolving for every consumer on any atmos version — dist/ rebuilt with the repo toolchain.
  • The atmos-version: 1.224.0 CI pins are reverted; tests run on latest again.
  • Verified locally: 9/9 unit tests pass against atmos 1.224.0, 1.225.0, and 1.226.0-rc.6.

Tracking issue cloudposse/atmos#2933 updated accordingly. (Separate note for maintainers: runAtmosDescribeComponent interpolates component/stack into an execSync shell string — pre-existing, but worth migrating to execFileSync with an argv array in a follow-up.)

@johncblandii

Copy link
Copy Markdown
Contributor Author

Phase-2 follow-up now that cloudposse/.github#261 is merged: the repo's own workflow pins are bumped to Node 24 runtimes, SHA-pinned (checkout # v7.0.1, setup-node # v7.0.0, setup-atmos # v3.5.0, assert-action # v4.0.1).

@johncblandii
John C. Bland II (johncblandii) merged commit 1e6cf7b into main Aug 13, 2026
11 checks passed
@johncblandii
John C. Bland II (johncblandii) deleted the chore/node24-runtime-upgrade branch August 13, 2026 19:28
@github-actions

Copy link
Copy Markdown

These changes were released in v2.0.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch A minor, backward compatible change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants