Skip to content

chore: migrate action runtime from node20 to node24#15

Merged
ItzNotABug merged 1 commit into
ItzNotABug:mainfrom
ChiragAgg5k:chore/node24-runtime
Jun 21, 2026
Merged

chore: migrate action runtime from node20 to node24#15
ItzNotABug merged 1 commit into
ItzNotABug:mainfrom
ChiragAgg5k:chore/node24-runtime

Conversation

@ChiragAgg5k

Copy link
Copy Markdown
Contributor

What

Bump the action runtime in action.yml from node20 to node24.

 runs:
-  using: 'node20'
+  using: 'node24'
   main: 'dist/index.js'

Why

GitHub has deprecated Node 20 on Actions runners — the default is now Node 24. Every workflow that uses itznotabug/php-retry currently prints:

Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable.

(see the GitHub changelog).

Declaring node24 removes the warning and runs on the runner's default runtime.

Compatibility

  • dist/index.js is produced by bun build ./src/index.ts --target node with no Node-version pin, so the emitted CJS bundle is forward-compatible.
  • Runtime deps are @actions/core, @actions/exec, @actions/github, fast-xml-parser, tree-kill — none require Node 20-specific behavior; all are supported on Node 24.
  • No source or dist rebuild needed; only the runtime declaration changes.

Node 20 is deprecated on GitHub Actions runners (default is now Node 24),
so every workflow using this action prints a deprecation warning. The
bundle is built with `bun build --target node` (no version pin) and uses
only @actions/* libraries, so it runs unchanged on Node 24.
@ItzNotABug
ItzNotABug merged commit d4500b9 into ItzNotABug:main Jun 21, 2026
2 of 3 checks passed
ChiragAgg5k added a commit to appwrite/appwrite that referenced this pull request Jun 21, 2026
ItzNotABug/php-retry#15 migrated the action runtime from the deprecated
node20 to node24. The v3 tag has not been re-pointed yet, so pin the
merged commit (d4500b9) directly to clear the "Node 20 is being
deprecated" warning on the unit-test retry step. Updates all 5 pins.
ChiragAgg5k added a commit to appwrite/appwrite that referenced this pull request Jun 22, 2026
… tests (#12637)

* (test): report true per-test duration and de-duplicate variable build tests

The PHPUnit test reporter printed `durationSinceStart()` — wall-clock
elapsed since the run began — and labeled it as per-test duration. That
made the numbers climb monotonically across the run and flagged nearly
every test past the 15s mark as "slow", even pure CRUD tests that finish
in well under a second.

Capture an elapsed-since-start stamp when each test is prepared and
subtract it at finish, so the reported time and the "slow" warning are
the test's own duration.

Separately, the variable-in-build integration tests
(testProjectVariableInFunction, testProjectVariableInSite) lived in the
shared VariablesBase trait and therefore ran in both the console-client
and custom-server suites — 4 real Docker/npm builds where 2 suffice. The
contract is auth-side independent, so move them into
VariablesCustomServerTest only and keep the cheap CRUD coverage shared.

* (test): satisfy rector string-cast rule and document refactor pre-check

Rector's StringCastAssertStringContainsStringRector requires (string)
casts on the assertStringContains(Not) arguments in the moved build
tests. Apply them, and add composer refactor / refactor:check to the
AGENTS.md command table so the CI "Refactor" check is run before pushing.

* fix: purge project cache after config updates

* (test): stamp test start at PreparationStarted, not Prepared

Prepared fires after setUp/fixtures run, so expensive e2e setup was
excluded from the reported per-test duration and the slow-test warning.
Listen on PreparationStarted (before preparation begins) instead, and
rename the subscriber to match.

* (ci): bump php-retry to node24 runtime commit

ItzNotABug/php-retry#15 migrated the action runtime from the deprecated
node20 to node24. The v3 tag has not been re-pointed yet, so pin the
merged commit (d4500b9) directly to clear the "Node 20 is being
deprecated" warning on the unit-test retry step. Updates all 5 pins.

* (ci): combine PHP check jobs into a single Checks job

* (test): use full-precision duration in per-test reporter

durationSinceStart()->seconds() returns only the whole-second part, so
the finish-minus-start delta dropped all sub-second time: a 10.9s→11.1s
test reported 1000ms instead of ~200ms, and most sub-second tests
reported 0ms. Use Duration::asFloat() (seconds + nanoseconds) for both
the start stamp and the finish elapsed, and format output as rounded
integer ms / 2-decimal seconds.

* fix: remove project cache purge calls
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.

2 participants