Skip to content

feat(global-cli): release support - #1180

Draft
ubugeeei wants to merge 91 commits into
mainfrom
feat/publish-support
Draft

feat(global-cli): release support#1180
ubugeeei wants to merge 91 commits into
mainfrom
feat/publish-support

Conversation

@ubugeeei

@ubugeeei ubugeeei commented Mar 28, 2026

Copy link
Copy Markdown
Collaborator

#1169

Note

These implementations are quite comprehensive and large in scope.
Feel free to treat them as reference implementations and narrow down the scope.

Summary

This PR adds a production-oriented monorepo release workflow to vp release.

The new flow plans workspace releases from git history, computes version bumps, runs release readiness checks, performs package-manager-native publish preflight during --dry-run, supports real publishes with safer defaults, and can generate changelogs and git tags as part of the same workflow.

In addition to the core feature, this branch also includes the CI and stability fixes needed to make the new release flow buildable and green across Linux, macOS, and Windows.

What Changed

  • Added a full vp release orchestration layer for workspace packages
  • Added release planning based on Conventional Commits and SemVer-aware version bumping
  • Added exact-version retry support via --version
  • Added prerelease channel support via --preid
  • Added optional changelog generation for package and workspace release artifacts
  • Added release artifact persistence/rollback handling for manifest and changelog updates
  • Added git tagging support, including a repo-level v<version> tag when all released packages share the same version
  • Added first-release guidance for unpublished packages
  • Added trusted-publishing validation and a GitHub Actions publish workflow template for bootstrap flows
  • Centralized publish command resolution in vite_install so package-manager-specific publish flags, provenance, and env handling are resolved in one place
  • Added shared utilities for Conventional Commit parsing, git helpers, SemVer parsing, version patterns, and package manifest mutation
  • Expanded unit tests and CLI snapshot coverage for the release flow
  • Updated README / CLI docs to describe the new vp release capabilities

Behavior Notes

  • Real releases run detected release checks by default
  • --dry-run can simulate publish behavior without creating durable release artifacts
  • --skip-publish and --no-git-tag remain limited to dry-run usage
  • --version is intended to support retrying partial publishes at an exact target version
  • Trusted publishing is validated as part of the hardened release path

CI / Stabilization Included In This Branch

  • Aligned rolldown workspace dependencies with current upstream naming
  • Fixed Windows-specific path assumptions in tests
  • Isolated VP_HOME in env-related tests to avoid cache-driven flakiness
  • Fixed fixture formatting issues that were causing CLI/snapshot failures

Validation

  • CI is green on Linux, macOS, and Windows
  • Cargo Deny passes
  • CLI E2E passes
  • CLI snapshot tests pass

@netlify

netlify Bot commented Mar 28, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview ready!

Name Link
🔨 Latest commit 5db9cca
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a7d7a99d9b37f0009b0e0c4
😎 Deploy Preview https://deploy-preview-1180--viteplus-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@ubugeeei
ubugeeei force-pushed the feat/publish-support branch from 9ed0f44 to e5e927a Compare March 28, 2026 12:01
@ubugeeei ubugeeei changed the title feat(global-cli): add monorepo release workflow with publish safety checks feat(global-cli): release support Mar 28, 2026
@ubugeeei

Copy link
Copy Markdown
Collaborator Author

@codex review

@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: c43ffa0b44

ℹ️ 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 crates/vite_global_cli/src/commands/release/templates/publish.yml Outdated
@ubugeeei

Copy link
Copy Markdown
Collaborator Author

NOTE: I temporarily removed the Draft status to try triggering a review with Codex, but it is still a draft.

@ubugeeei
ubugeeei marked this pull request as ready for review March 29, 2026 17:04
@ubugeeei
ubugeeei force-pushed the feat/publish-support branch from a2438c8 to be29811 Compare May 21, 2026 08:04
@github-actions

github-actions Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

✅ Staging deployment successful!

Preview: https://viteplus-staging.void.app/
Commit: 5db9cca

@github-actions

Copy link
Copy Markdown
Contributor

Native binary sizes (5db9cca)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.

Artifact Format Base PR Change
vp (Linux x64) Binary 10.67 MiB 11.46 MiB +804.02 KiB (+7.36%)
vp (Linux x64) gzip -9 4.62 MiB 4.97 MiB +362.67 KiB (+7.67%)
NAPI (Linux x64) Binary 32.00 MiB 32.01 MiB +4.00 KiB (+0.01%)
NAPI (Linux x64) gzip -9 12.61 MiB 12.61 MiB +722 B (+0.01%)
vp (macOS ARM64) Binary 7.98 MiB 8.57 MiB +597.66 KiB (+7.31%)
vp (macOS ARM64) gzip -9 4.03 MiB 4.35 MiB +325.96 KiB (+7.90%)
NAPI (macOS ARM64) Binary 39.66 MiB 39.66 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 16.91 MiB 16.91 MiB -14 B (-0.00%)
vp (Windows x64) Binary 8.55 MiB 9.32 MiB +789.00 KiB (+9.01%)
vp (Windows x64) gzip -9 3.73 MiB 4.07 MiB +356.84 KiB (+9.35%)
NAPI (Windows x64) Binary 26.87 MiB 26.88 MiB +2.00 KiB (+0.01%)
NAPI (Windows x64) gzip -9 10.68 MiB 10.68 MiB +1.55 KiB (+0.01%)
Trampoline (Windows x64) Binary 205.00 KiB 205.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 99.00 KiB 99.00 KiB -1 B (-0.00%)
Installer (Windows x64) Binary 4.47 MiB 4.47 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.09 MiB 2.09 MiB +75 B (+0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants