Skip to content

Align repo orchestration with solana-program conventions#79

Open
lorisleiva wants to merge 3 commits into
mainfrom
loris/orchestration-alignment
Open

Align repo orchestration with solana-program conventions#79
lorisleiva wants to merge 3 commits into
mainfrom
loris/orchestration-alignment

Conversation

@lorisleiva
Copy link
Copy Markdown
Member

This PR replaces system's bespoke vars.env + hand-rolled Makefile + in-repo composite setup action + per-repo publish workflows with the converged solana-program/* orchestration: a Makefile modelled on program-metadata's, thin CI wrappers that delegate to reusable workflows in solana-program/actions, and Cargo.toml's [workspace.metadata] blocks as the single source of truth for the nightly toolchain and Solana CLI version. The reusable workflows bring uniform format/lint/test/docs/powerset gates for free, NPM provenance and cargo semver-checks for publishing, and eliminate the need to maintain per-repo orchestration. The JS client's test-js-% target stays LiteSVM-flavoured (no validator dance) and codama.mjs reads the nightly from the Makefile so the toolchain pin lives in exactly one place. Repo admins will need to provision the vars.APP_ID + secrets.PRIVATE_KEY GitHub App and the prod environment with an NPM Trusted Publisher before the next publish under these workflows.

This PR replaces system's bespoke `vars.env` + hand-rolled `Makefile` + in-repo composite setup action + per-repo publish workflows with the converged `solana-program/*` orchestration: a `Makefile` modelled on `program-metadata`'s, thin CI wrappers that delegate to reusable workflows in `solana-program/actions`, and `Cargo.toml`'s `[workspace.metadata]` blocks as the single source of truth for the nightly toolchain and Solana CLI version. The reusable workflows bring uniform format/lint/test/docs/powerset gates for free, NPM provenance and `cargo semver-checks` for publishing, and eliminate the need to maintain per-repo orchestration. The JS client's `test-js-%` target stays LiteSVM-flavoured (no validator dance) and `codama.mjs` reads the nightly from the Makefile so the toolchain pin lives in exactly one place. Repo admins will need to provision the `vars.APP_ID` + `secrets.PRIVATE_KEY` GitHub App and the `prod` environment with an NPM Trusted Publisher before the next publish under these workflows.
This commit fixes the two CI gates that were left unhandled by the orchestration alignment: spellcheck and audit. The reusable workflow at `solana-program/actions/.github/workflows/main.yml@main` runs `make spellcheck` and `make audit` unconditionally on every push, so both targets need to be present and pass. The spellcheck target is now wired up the same way as in `program-metadata` and `stake`, with a `scripts/spellcheck.toml` config and a `scripts/solana.dic` dictionary seeded from the union of both reference repos. The audit ignore list has been replaced with the set of RUSTSEC IDs that system's wider transitive dependency tree triggers (all in the `solana-client` RPC / TLS / pubsub stack), captured from a local run against an upgraded `cargo-audit` that understands CVSS 4.0.
@lorisleiva lorisleiva requested a review from joncinque May 27, 2026 16:34
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