Repository navigation
ci: extend CodeQL to Rust, align Node 22, add docs index and link checking - #286
Merged
techAlhaji merged 7 commits intoOct 27, 2026
Conversation
…obanForge#163 - SorobanForge#163: pin Node 22 in .nvmrc as the single source of truth; every workflow's setup-node reads it via node-version-file; engines.node raised to >=22.0.0 so engine-strict fails fast on unsupported versions; decision recorded in docs/development-guide.md; README + CONTRIBUTING prerequisites updated - SorobanForge#161: add rust to the CodeQL matrix with a manual wasm32v1-none build of the contracts workspace and Swatinem/rust-cache so the job does not rebuild - SorobanForge#145: add a lychee Markdown link checker (docs.yml + .lychee.toml, flaky-host allowlist), fix two dead links (Discussions 404, pnpm.io corepack anchor), add "Check Documentation Links" to the branch-protection script, and land the pending Prettier fixes that were failing format:check on main - SorobanForge#159: add docs/README.md index grouped by audience and link it from the root README's new Documentation section 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
|
@Oluwaferanmi18 is attempting to deploy a commit to the techalhaji's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@Oluwaferanmi18 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
techAlhaji
self-requested a review
October 21, 2026 13:46
techAlhaji
previously approved these changes
Oct 21, 2026
Collaborator
|
fix the failing ci please |
Root causes of the five failing jobs on this PR head: - CodeQL (rust, javascript-typescript): `codeql database init` rejected `manual` for Rust and `autobuild` for JS/TS. Both languages only accept `none`, so the matrix now uses buildless mode and the manual cargo build and codeql-action/autobuild steps are removed. - Check Documentation Links: five dead links — `#escrow`, `#security-model` and the development-guide walkthrough anchors, `packages/ARCHITECTURE.md` resolved from packages/hooks, and stellar.org/freighter (404) — plus an npm badge pointing at a package that is not published. - Test Soroban Contracts: the tree used `StreamError::SameRecipient` without declaring the variant, and kept an unused `use std::format;` that clippy `-D warnings` rejects. - cargo-deny: RUSTSEC-2026-0387 (crypto-bigint) had no ignore entry, matching the entry already on main. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves four maintenance issues in one pass.
Closes #161
Closes #159
Closes #163
Closes #145
#163 — align the Node version (
.nvmrc,engines, workflows)One version is chosen — Node 22, what CI already ran — and wired everywhere:
.nvmrc:20→22, and it is now the single source of truth: everysetup-nodestep inci.yml(4 jobs) andrelease.ymlreads it vianode-version-file: '.nvmrc', so local, CI, and release cannot drift again.package.jsonengines.node:>=18.0.0→>=22.0.0..npmrcalready setsengine-strict=true, sopnpm installnow fails fast with a clear engine error on Node 18/20 instead of letting a locally-green change fail in CI.enginesis raised and prerequisites are updated instead.Node.js 22pinned in.nvmrc,pnpm ≥ 9) and CONTRIBUTING'sNode.js >= 22.0.0updated.docs/development-guide.md("Toolchain versions: Node & pnpm"), including how to move the floor later.#161 — extend CodeQL to the Rust contracts
codeql.ymlmatrix is nowinclude:entries:javascript-typescript(autobuild, unchanged) andrustwithbuild-mode: manual.dtolnay/rust-toolchain@stablewith thewasm32v1-nonetarget and caches cargo viaSwatinem/rust-cache(workspaces: contracts), then builds the contracts workspace exactly aspnpm build:contractsdoes (cargo build --manifest-path contracts/Cargo.toml --target wasm32v1-none --release) betweeninitandanalyze.scripts/setup-branch-protection.sh— it is not required for merge until it has proven stable onmain.main(CodeQL needs the default-branch baseline); any alerts found there will be triaged in a follow-up, as the AC allows.#145 — check documentation links and formatting
.github/workflows/docs.ymlrunslycheeverse/lychee-actionover**/*.mdwithfail: true, backed by.lychee.toml.include_fragments = "full"— dead anchors (e.g. thedocs/development-guide.md#test-snapshotslink in CONTRIBUTING). A flaky-host allowlist (img.shields.io,contrib.rocks) and429-accepted rate limits keep unrelated PRs green;node_modulesis excluded..prettierignoreconfirmed to not ignoredocs/(a comment now records that it must stay that way);format:checkin the existing "Lint Codebase" job covers all Markdown.scripts/setup-branch-protection.shas the required contextCheck Documentation Links.paths:filter onpull_request. A path-filtered workflow never reports on unrelated PRs, so as a required check it would block every non-docs merge; the job is a few seconds, so it reports on every PR instead.README.md→https://github.com/SorobanForge/stellar-streams/discussionsreturned 404 (Discussions is not enabled); now points to GitHub Issues.CONTRIBUTING.md→https://pnpm.io/installation#using-corepack— the anchor no longer exists on pnpm's page; now links to the page itself.docs/contracts.mdandpackages/hooks/src/index.ts(whitespace/table alignment only).format:checkonmaincurrently fails on those two files plusdocs/development-guide.md; with these commits it passes.#159 — docs index page
docs/README.mdlists every page indocs/, grouped by getting started / protocol / contributing / operations, with a one-sentence audience description each, plus pointers to the top-level documents (README, ARCHITECTURE, CONTRIBUTING, ROADMAP, SECURITY).docs/contracts.md,docs/development-guide.md,docs/deployments.md).Verification
lychee --config .lychee.toml './**/*.md'→ 93 links, 0 errors, 7 excluded (allowlist).pnpm run format:check→ passes (was failing on 3 files atmain).bash -n scripts/setup-branch-protection.sh→ OK.pnpm run lint/typecheck/testunaffected (no source changes besides a whitespace-only diff inpackages/hooks/src/index.ts).🤖 Generated with Codebuff
Co-Authored-By: Codebuff noreply@codebuff.com