Skip to content

Automate post-release development version bumps - #1042

Merged
Tomasz Naumowicz (tnaum-ms) merged 4 commits into
mainfrom
dev/tnaum/revisit-version-bump
Oct 21, 2026
Merged

Tomasz Naumowicz (tnaum-ms) merged 4 commits into
mainfrom
dev/tnaum/revisit-version-bump

Conversation

@tnaum-ms

@tnaum-ms Tomasz Naumowicz (tnaum-ms) commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Automatically prepare main for development after a stable release, while retaining a manual catch-up action. This avoids forgetting to move the extension off an already released version.

For example, after 1.0.1, the workflow proposes:

File Old version New version
package.json 1.0.1 1.0.2-alpha.0
package-lock.json (both root version entries) 1.0.1 1.0.2-alpha.0

alpha.0 is the first alpha of the next patch version; .0 is the prerelease counter.

What changed

  • Enable release: published and retain workflow_dispatch.
  • Always check out main; ignore GitHub prereleases and release tags that do not match its current version, including older release-line patches.
  • Replace the third-party prerelease action with a dependency-free repository script using the Node version from .nvmrc and npm version.
  • Verify the root manifest and both lockfile version entries agree before and after the bump. Leave workspace packages and dependencies unchanged and disable npm lifecycle scripts.
  • Reuse a version-specific bot branch/PR on repeated runs; leave an existing development version alone instead of advancing to alpha.1.
  • Create ready-for-review, non-draft version-bump PRs, as requested, with a formatted old/new version table, rationale, explanation of alpha.0, and release/run links.
  • Explicitly dispatch full CI on the generated PR branch with GITHUB_TOKEN, avoiding a new token secret. GitHub may still request approval for additional PR-triggered workflows.
  • Add explicit write permissions, serialized runs, a timeout, integration tests in CI, and maintainer documentation.

Scope and operation

This PR changes automation only: it does not bump the current version, publish an extension, create a release/tag, or change release notes. Before the next publication, replace the development alpha with the intended numeric release version.

After merge, run the catch-up action with:

gh workflow run bump-version-pr.yaml --ref main

The repository must allow GitHub Actions to create pull requests. That setting could not be inspected with the available credentials (HTTP 403). No remote bump run has been performed.

Feature documentation: Build and test stack, design, and pipeline guide.

Validation

Case 2 — ready-for-review checks completed locally on 2026-10-21:

  • npm run prettier-fix — passed; no tracked changes.
  • npm run lint — passed.
  • npx vitest run — 314 files passed; 5,184 tests passed, 1 skipped.
  • npm run build — passed.
  • npm run package — passed; VSIX produced.
  • node --test .github/scripts/bump-version.test.cjs — 13/13 passed.
  • npm run l10n — not applicable: no localized strings changed.
  • Workflow YAML/wiring and an isolated bump of the actual repository manifests were verified during implementation.

Ready-for-review remains blocked on review provenance: the committed review explicitly leaves the cross-vendor validation gate and independent sweep incomplete. The operator reported that the review is complete, but completion of those specific stages and their results have not been confirmed or recorded. No review completion evidence has been invented. The PR remains a draft pending that confirmation; the full Case 2 checks are no longer deferred.

Review follow-up

  • Recorded the initial review, author instruction, findings, fix, and verification limits in the post-release version automation review.
  • Fixed the confirmed Prettier failure in the pipeline inventory table in d9dc4d09; no automation behavior changed. The targeted formatting check, Case 1 build, and all 13 release-automation tests passed after the fix.
  • No blocking logic defects were found. The complete multi-stage AI pre-review in CONTRIBUTING section 6.1 remains incomplete; there were no inline reviewer findings to merge.
  • Actions PR-creation permission and a live bot-PR/full-CI-dispatch run remain unverified. No repository settings were changed and no test release or bump workflow was triggered.

Avoid leaving main on a released version by opening a reviewed alpha.0 bump after stable releases or a manual dispatch. Keep the root manifest and lockfile synchronized, guard against repeat bumps, and explicitly start CI for token-created PRs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

✅ CI passed: standard tier (ready PR)

Commit feec7fe, workflow run.

Layer Result Ran or skipped because
Static checks ✅ passed every push
Unit tests ✅ passed every push
npm packages: verify tarballs ✅ passed packages/**, package-lock.json or the CI workflow changed
VSIX: inspect contents ✅ passed ready PR
VSIX: self-test of the checks ✅ passed build/verification/**, build/vite/**, the Vite configs, package-lock.json or the CI workflow changed
VSIX: activate in VS Code ✅ passed ready PR
VSIX: self-test of the activation check ✅ passed build/verification/**, build/vite/**, the Vite configs, package-lock.json or the CI workflow changed
Webview host in unbundled extensions ✅ passed packages/vscode-ext-webview/**, package-lock.json or the CI workflow changed
E2E ⏭️ not available yet arrives with the E2E iteration (full tier)

Full run: add the ci:full-requested label to run every layer once on the current commit.
No full run yet.

Code quality

Check Status How to fix
Localization (l10n) ✅ Passed Nothing to fix
ESLint ✅ Passed Nothing to fix
Prettier formatting ✅ Passed Nothing to fix

Build size

No page, activation, VSIX or other bundle size changed by 5% or 50 KiB or more against main. VSIX: 8.5 MiB.

Artifacts: VSIX | Bundle-reports-39614576877 | L1-manifest-report-39614576877

All graphs (exact bytes)
Graph PR bytes Base bytes Delta bytes Delta %
Collection View page (collectionView) 6,036,286 6,036,286 ✅ 0 0.0%
Document View page (documentView) 4,808,762 4,808,762 ✅ 0 0.0%
Local Quick Start page (localQuickStart) 1,551,408 1,551,408 ✅ 0 0.0%
Atlas Credentials page (atlasCredentials) 1,504,612 1,504,612 ✅ 0 0.0%
Cluster Dashboard page (clusterDashboard) 1,550,863 1,550,863 ✅ 0 0.0%
Activation (mainStartup) 3,447,535 3,447,535 ✅ 0 0.0%
Extension host (main) 9,974,227 9,974,227 ✅ 0 0.0%
Playground worker (playgroundWorker) 5,384,529 5,384,529 ✅ 0 0.0%
VSIX (vsix) 8,940,785 8,940,785 ✅ 0 0.0%
playgroundTsPlugin 6,175 6,175 ✅ 0 0.0%
viewsEntry 1,456,593 1,456,593 ✅ 0 0.0%
viewsAssets 80,340 80,340 ✅ 0 0.0%
editorWorker 259,528 259,528 ✅ 0 0.0%
jsonWorker 389,389 389,389 ✅ 0 0.0%

Packaged bytes. Shared chunks count in every graph that loads them, so rows do not add up.

Updated in place on every run.

Align the workflow inventory table with the repository formatter so the required static check no longer fails after the release-bump entry changed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@tnaum-ms

Copy link
Copy Markdown
Collaborator Author

F01 fixed in d9dc4d09: formatted the pipeline inventory table to restore the required Prettier check, without changing release-automation behavior. Targeted formatting, the Case 1 build, and all 13 release-automation integration tests passed. The fix was committed and pushed separately under CONTRIBUTING section 6.3.

Record the confirmed formatting failure, the operator's instruction, the separately pushed fix, and verification limits so remaining review gates are explicit rather than implied complete.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@tnaum-ms

Copy link
Copy Markdown
Collaborator Author

Review record published in c99ebd82: added the post-release version automation review and linked it from the feature README. The record captures the operator instruction, F01 severity and separately pushed fix, validation evidence, and the unresolved operational checks. The PR description now matches that disposition. PR #1042 remains a draft (Case 1); the full multi-stage AI pre-review and Case 2 suite are not claimed complete.

@tnaum-ms Tomasz Naumowicz (tnaum-ms) added this to the 1.0.2 milestone Oct 21, 2026
Preserve the full Case 2 verification results and distinguish the remaining review-stage evidence gap from completed build and test validation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@tnaum-ms

Copy link
Copy Markdown
Collaborator Author

Case 2 handoff checks are complete and recorded in feec7fe5:

  • npm run prettier-fix — passed, no tracked changes.
  • npm run lint — passed.
  • npx vitest run — 314 files passed; 5,184 tests passed, 1 skipped.
  • npm run build — passed.
  • npm run package — passed.
  • Release-automation integration tests — 13/13 passed.
  • l10n was not applicable: no localized strings changed.

Assigned milestone 1.0.2 and updated the PR validation section. No automation behavior changed.

The PR is still a draft because the committed review explicitly says the cross-vendor validation gate and independent sweep are incomplete. The operator reported the review complete, but confirmation/results for those specific stages were not available. Those results must be confirmed and recorded before the repository's ready-for-review requirements are met. The Case 2 commands themselves are no longer outstanding.

@tnaum-ms
Tomasz Naumowicz (tnaum-ms) merged commit 2e3a67a into main Oct 21, 2026
23 checks passed
@tnaum-ms
Tomasz Naumowicz (tnaum-ms) deleted the dev/tnaum/revisit-version-bump branch October 21, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

2 participants