Skip to content

chore(deps): Bump actions/setup-node from 4 to 6 - #2

Merged
graveyieldprotocol merged 1 commit into
mainfrom
dependabot/github_actions/actions/setup-node-6
May 10, 2026
Merged

chore(deps): Bump actions/setup-node from 4 to 6#2
graveyieldprotocol merged 1 commit into
mainfrom
dependabot/github_actions/actions/setup-node-6

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 9, 2026

Copy link
Copy Markdown

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Bumps actions/setup-node from 4 to 6.

Release notes

Sourced from actions/setup-node's releases.

v6.0.0

What's Changed

Breaking Changes

Dependency Upgrades

Full Changelog: actions/setup-node@v5...v6.0.0

v5.0.0

What's Changed

Breaking Changes

This update, introduces automatic caching when a valid packageManager field is present in your package.json. This aims to improve workflow performance and make dependency management more seamless. To disable this automatic caching, set package-manager-cache: false

steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
  with:
    package-manager-cache: false

Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. See Release Notes

Dependency Upgrades

New Contributors

Full Changelog: actions/setup-node@v4...v5.0.0

v4.4.0

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github May 9, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: ci, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@graveyieldprotocol
graveyieldprotocol merged commit de59d17 into main May 10, 2026
2 of 6 checks passed
@dependabot
dependabot Bot deleted the dependabot/github_actions/actions/setup-node-6 branch May 10, 2026 06:38
graveyieldprotocol added a commit that referenced this pull request May 19, 2026
Same ci.yml change as PR #19's fixup #2: Solana 3.0.10's bundled
platform-tools v1.51 ships cargo 1.84 which can't parse `edition2024`
manifests pulled transitively by Anchor 0.32.1's SPL deps. Replace the
cached platform-tools directory with v1.54 (cargo 1.89) before
anchor build invokes cargo-build-sbf.

m6's Rust code itself is BPF-clean — `cargo-build-sbf` succeeds locally
once platform-tools v1.54 is active. The only change here is the CI
workflow step.

If PR #19 lands first with the same ci.yml change, this PR's rebase
resolves trivially (identical content). If PR #20 lands first, PR #19
rebases against this.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
graveyieldprotocol added a commit that referenced this pull request May 19, 2026
Locally reproduced: `anchor build` passes the BPF compile stage
(cargo-build-sbf finishes clean with platform-tools v1.54 in place
from fixup #2) but fails the IDL-generation stage:

    info: syncing channel updates for nightly-x86_64-unknown-linux-gnu
    error: could not download file from 'https://static.rust-lang.org/...'
    Error: Building IDL failed.

Anchor 0.32.1's `anchor idl build` still invokes rustup to install a
nightly toolchain, which the workflow's `dtolnay/rust-toolchain@stable`
step doesn't pre-install. The CI runner can reach static.rust-lang.org
in principle, but rustup's auto-install path needs an explicit
toolchain declared.

Fix: pass `--no-idl` to skip IDL generation. The on-chain program
builds and verifies correctly without IDL; IDL is only required for
TypeScript client type generation, which is a separate workstream
(can land later as a CI step that installs nightly before invoking
`anchor idl build`).

Verified locally with anchor-cli 0.32.1 + platform-tools v1.54 +
Solana 3.0.10:
  anchor build --no-idl  → Finished `release` profile in 5.67s (clean)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
graveyieldprotocol added a commit that referenced this pull request May 19, 2026
Locally reproduced: `anchor build` passes the BPF compile stage
(cargo-build-sbf finishes clean with platform-tools v1.54 in place
from fixup #2) but fails the IDL-generation stage:

    info: syncing channel updates for nightly-x86_64-unknown-linux-gnu
    error: could not download file from 'https://static.rust-lang.org/...'
    Error: Building IDL failed.

Anchor 0.32.1's `anchor idl build` still invokes rustup to install a
nightly toolchain, which the workflow's `dtolnay/rust-toolchain@stable`
step doesn't pre-install. The CI runner can reach static.rust-lang.org
in principle, but rustup's auto-install path needs an explicit
toolchain declared.

Fix: pass `--no-idl` to skip IDL generation. The on-chain program
builds and verifies correctly without IDL; IDL is only required for
TypeScript client type generation, which is a separate workstream
(can land later as a CI step that installs nightly before invoking
`anchor idl build`).

Verified locally with anchor-cli 0.32.1 + platform-tools v1.54 +
Solana 3.0.10:
  anchor build --no-idl  → Finished `release` profile in 5.67s (clean)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
graveyieldprotocol added a commit that referenced this pull request May 19, 2026
Step-level CI timing on fixup #3 reveals the actual failure:

  Step 7 'Install Anchor CLI'        completed in  0s  conclusion=success
  Step 8 'Pin platform-tools v1.54'  completed in 48s  conclusion=success
  Step 9 'Anchor build'              completed in  1s  conclusion=failure

`cargo binstall --no-confirm --version 0.32.1 anchor-cli` silently
no-ops on anchor-cli 0.32.x — it exits 0 without installing `anchor`
on PATH, then `anchor build` exits immediately (1s) because the
binary doesn't exist. This is the same silent-no-op pattern I have
in failure-pattern memory; I had closed PR #18 thinking cargo-binstall
was working (based on PR #17's intermittent success), but it's actually
flaky/broken for 0.32.x consistently.

Fix: replace cargo binstall with `cargo install --locked --version
0.32.1 anchor-cli` + an `anchor --version` assertion. Source compile
takes ~5-7 min on a cold cache but is cached by Swatinem/rust-cache@v2,
so steady-state CI time is unchanged. The version assertion fails the
install step itself on any future regression instead of deferring to
the build step where the symptom is opaque (0s install + 1s build
failure is harder to diagnose than a clean install-step failure).

Combined with fixup #2 (platform-tools v1.54) and fixup #3 (--no-idl
to skip nightly-Rust IDL generation), this should clear anchor build.

Locally verified all three together produce a clean `anchor build
--no-idl` in 5.67s on m5 and 5.02s on m6.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
graveyieldprotocol added a commit that referenced this pull request May 19, 2026
Step-level CI timing on fixup #3 reveals the actual failure:

  Step 7 'Install Anchor CLI'        completed in  0s  conclusion=success
  Step 8 'Pin platform-tools v1.54'  completed in 48s  conclusion=success
  Step 9 'Anchor build'              completed in  1s  conclusion=failure

`cargo binstall --no-confirm --version 0.32.1 anchor-cli` silently
no-ops on anchor-cli 0.32.x — it exits 0 without installing `anchor`
on PATH, then `anchor build` exits immediately (1s) because the
binary doesn't exist. This is the same silent-no-op pattern I have
in failure-pattern memory; I had closed PR #18 thinking cargo-binstall
was working (based on PR #17's intermittent success), but it's actually
flaky/broken for 0.32.x consistently.

Fix: replace cargo binstall with `cargo install --locked --version
0.32.1 anchor-cli` + an `anchor --version` assertion. Source compile
takes ~5-7 min on a cold cache but is cached by Swatinem/rust-cache@v2,
so steady-state CI time is unchanged. The version assertion fails the
install step itself on any future regression instead of deferring to
the build step where the symptom is opaque (0s install + 1s build
failure is harder to diagnose than a clean install-step failure).

Combined with fixup #2 (platform-tools v1.54) and fixup #3 (--no-idl
to skip nightly-Rust IDL generation), this should clear anchor build.

Locally verified all three together produce a clean `anchor build
--no-idl` in 5.67s on m5 and 5.02s on m6.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

1 participant