Skip to content

chore: latest Rstack toolchain everywhere, exact fixture pins, Renovate bumps fixtures too - #46

Merged
fi3ework merged 9 commits into
mainfrom
test/bump-rstack-fixture
Sep 3, 2026
Merged

chore: latest Rstack toolchain everywhere, exact fixture pins, Renovate bumps fixtures too#46
fi3ework merged 9 commits into
mainfrom
test/bump-rstack-fixture

Conversation

@fi3ework

@fi3ework fi3ework commented Sep 3, 2026

Copy link
Copy Markdown
Member

Why

main CI started failing on 2026-08-27 without any commit: the Rstack lint bridge E2E suite timed out waiting for a diagnostic that never arrived (#43).

The fixture pinned rstack@0.6.1, whose own dependency on @rslint/core is the range ~0.8.0. Fixtures install fresh on every run, so that range floated from 0.8.1 to 0.8.2 the day 0.8.2 was published. @rslint/core 0.8.2 (web-infra-dev/rslint#1851) changed how an explicitly selected config resolves relative paths: files / ignores are now relative to the config module's directory instead of the invocation cwd. rs lint in rstack 0.6.x passes node_modules/rstack/dist/rslintConfig.js as --config, and that shim exports the project's define.lint entries with no path base, so files: ['src/**/*.ts'] is matched from node_modules/rstack/dist/ and matches nothing. Lint runs with zero rules and reports success; the extension's bridge takes the same path and shows a healthy Rslint with no diagnostics.

Verified by A/B in isolated installs:

rstack @rslint/core rs lint on the fixture
0.6.1 0.8.1 1 rule, no-debugger reported
0.6.1 0.8.2 0 rules
0.7.2 0.9.0 1 rule, no-debugger reported

rstack 0.7.0 is the first release whose shim sets basePath = process.cwd() on every entry (rstackjs/rstack-cli#431), using the flat-config basePath support added in @rslint/core 0.9.0; 0.7.0 through 0.7.2 all pin @rslint/core@0.9.0 exactly.

Changes

  • Fixtures pin exact toolchain versions: rstack@0.7.2, @rslint/core@0.9.0, @rstest/core@0.11.11 in all six fixture manifests (no ^/~). Installs stay --no-frozen-lockfile and fixture lockfiles stay ignored; determinism now comes from the pins, and rstack@0.7.2 pins its transitive @rslint/core itself.
  • Root and devDependencies move to the same releases: root rstack ^0.7.2 (contributor Node range follows rstack's own engines, ^22.18.0 || >=24.3.0), extension @rslint/core ^0.9.0 and @rstest/core ^0.11.11.
  • User Node runtime follows rstack's engine contract: the shared range is now ^22.18.0 || >=24.3.0, excluding Node 23 and Node 24.0–24.2; unit coverage asserts it remains a subset of the installed rstack package's engines.node.
  • Renovate covers fixtures: packages/vscode/e2e/** leaves ignorePaths, so the immediate rstack toolchain group bumps root, devDependencies and fixture pins in one PR; rangeStrategy: bump rewrites an exact pin to the new exact version.
  • Support floors, evidence-based: rstack >=0.7.0 (first release with the basePath shim; 0.6.x users now get a version mismatch status instead of a silent zero-rule lint). @rslint/core >=0.8.0 and @rstest/core >=0.6.0 are unchanged: the lint worker reads the discovery protocol version from the selected core and forwards payloads unchanged, so 0.8.x native projects keep working, and nothing in this PR touches the test stack. packages/vscode/AGENTS.md now separates "tests and fixtures track the latest release" from "floors are the lowest release the evidence supports".
  • Tests follow the 0.9 fixtures: plugin-pool.test.ts sends collectFixes (required in the 0.9 plugin-lint protocol); comments that named protocol 2 no longer name a specific protocol.

Related Links

Closes #43
Refs #40 — parts 1 (verify current releases) and 3 (keep fixtures on latest through Renovate) are done here; part 2 (rstack-ecosystem-ci) remains.

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

Testing

  • pnpm --filter rstack test:e2e:fixtures — exit 0; all six fixtures install from the exact pins, generated lockfiles stay untracked.
  • pnpm fmt:check, pnpm lint — exit 0 on rstack 0.7.2 (161 files, 22 rules).
  • pnpm test:unit — exit 0, 31 files / 260 tests on Rstest 0.11.11.
  • VSCODE_CLI=1 pnpm test:e2e smoke — exit 0; project-resolved @rslint/core@0.9.0 produced the expected local/no-null diagnostic.
  • RSTACK_LINT_E2E_SUITES='Rstack lint bridge,eslintPlugins' VSCODE_CLI=1 pnpm test:e2e lint — exit 0; the bridge suite passes again on rstack 0.7.2.
  • VSCODE_CLI=1 pnpm test:e2e rstest — exit 0 on @rstest/core@0.11.11.
  • CI: the full lint / rstest / fmt E2E slices on macOS and Windows.

rslint#1851 changed the explicit-config path base in @rslint/core 0.8.2. rstack 0.6.1's shim has no basePath; rstack 0.7.2 sets basePath=process.cwd() via @rslint/core 0.9.0.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T11:44:19.162797Z 2766505 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eb59cf2602

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/vscode/e2e/fixtures/rstack/package.json
@fi3ework fi3ework changed the title test(vscode): bump the rstack E2E fixture to 0.7.2 test(vscode): bump the rstack fixture to 0.7.2, freeze fixture lockfiles, let Renovate bump them Sep 3, 2026
@fi3ework fi3ework changed the title test(vscode): bump the rstack fixture to 0.7.2, freeze fixture lockfiles, let Renovate bump them chore: latest Rstack toolchain everywhere, frozen fixture lockfiles, Renovate bumps Sep 3, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d86fd9d846

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/vscode/src/shared/versionCheck.ts Outdated
@fi3ework fi3ework changed the title chore: latest Rstack toolchain everywhere, frozen fixture lockfiles, Renovate bumps chore: latest Rstack toolchain everywhere, exact fixture pins, Renovate bumps fixtures too Sep 3, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5947fffd3a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/vscode/e2e/fixtures/rstest/package.json
… from tested releases in AGENTS.md

The floor is reverted because the worker reads the discovery protocol from the selected core and forwards payloads unchanged, so 0.8.x keeps working; bridged projects are already held to 0.9.0 by rstack >=0.7.0; AGENTS.md now distinguishes tested-latest from evidence-based floors.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4a2bfb6bad

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/vscode/src/shared/versionCheck.ts
@fi3ework
fi3ework enabled auto-merge (rebase) September 3, 2026 11:45
@fi3ework
fi3ework disabled auto-merge September 3, 2026 11:45
@fi3ework
fi3ework enabled auto-merge (squash) September 3, 2026 11:45
@fi3ework
fi3ework merged commit 395784e into main Sep 3, 2026
3 checks passed
@fi3ework
fi3ework deleted the test/bump-rstack-fixture branch September 3, 2026 11:46
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.

"Rstack lint bridge" E2E fails on main: fixture rs lint loads 0 rules

1 participant