Skip to content

refactor: migrate release flow to release-please#517

Closed
petar-omni wants to merge 1 commit into
mainfrom
ci/update-ci-flows
Closed

refactor: migrate release flow to release-please#517
petar-omni wants to merge 1 commit into
mainfrom
ci/update-ci-flows

Conversation

@petar-omni
Copy link
Copy Markdown
Contributor

@petar-omni petar-omni commented May 18, 2026

Summary by CodeRabbit

  • Chores

    • Migrated release management system from Changesets to release-please.
    • Updated development tools: Node.js 24.15.0, pnpm 10.33.2.
    • Enhanced CI/CD workflows and build processes.
  • Configuration

    • Added AWS Amplify build configuration.
    • Updated Vercel routing configuration.

Review Change Stack

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 18, 2026

⚠️ No Changeset found

Latest commit: 20fa954

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

📝 Walkthrough

Walkthrough

This PR migrates the release workflow from Changesets to release-please, pins development tool versions (Node 24.15.0, pnpm 10.33.2), updates CI workflows to use explicit mise installation with version pinning, and introduces AWS Amplify deployment configuration with environment variable injection and website artifact publishing.

Changes

Release and CI infrastructure modernization

Layer / File(s) Summary
Release-please configuration and manifest
release-please-config.json, .release-please-manifest.json
Release-please configuration is added with bootstrap SHA, component-based tagging (using @ separator), PR title pattern, and package mapping for @stakekit/widget. Release manifest version is set to 0.0.270.
Tool version pinning
mise.toml
Node version is pinned to 24.15.0 and pnpm to 10.33.2, replacing unpinned major version specifications.
CI and release workflow updates
package.json, .github/workflows/release.yml, .github/workflows/ci.yml
Changesets CLI is replaced with release-please in dev dependencies. Release workflow adds GitHub Actions permissions (issues: write), sets PACKAGE_DIR environment variable, replaces jdx/mise-action with pinned mise installation via curl, introduces release-please steps for GitHub release creation and PR management, adds conditional npm publishing logic that checks for existing releases and npm versions via shell scripts, and wires git tag checkout with turbo-driven builds. CI workflow pins mise version to v2026.5.6 and restructures the test execution step.
Supporting configuration updates
turbo.json, .gitignore
Turbo's package manager check is disabled via dangerouslyDisablePackageManagerCheck flag. .pnpm-store is added to the gitignore patterns.
AWS Amplify deployment configuration
amplify.yml
New Amplify build configuration installs mise-managed tools with pinned version, runs frozen-lockfile pnpm install, generates a widget .env file from VITE environment variables, builds the widget website via pnpm --filter=@stakekit/widget build:website, and publishes packages/widget/dist/website/** as build artifacts.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 A rabbit's ode to the release refactor:
From Changesets old to please-ure anew,
With mise pinned tight and Amplify too,
The workflows now dance to release-please tune,
While turbo builds fast 'neath the CI moon. ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request description is entirely empty, failing to provide any context about the changes, motivation, or impact of the migration. Add a detailed description covering what was changed (removal of Changesets, integration of release-please), why this migration was made, and any important implementation details or migration notes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: migrating the release automation from Changesets to release-please, which is evident across multiple workflow and configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/update-ci-flows

Comment @coderabbitai help to get the list of available commands and usage tips.

@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedrelease-please@​17.6.09510010094100

View full report

@aws-amplify-eu-central-1
Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-517.df4xyoi0xyeak.amplifyapp.com

@aws-amplify-eu-central-1
Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-517.d2ribjy8evqo6h.amplifyapp.com

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Around line 25-31: The CI step "Install mise" currently uses an unverified
curl | sh which is a supply-chain risk; replace that pattern in the "Install
mise" job by either (1) using a pinned GitHub Action (pin a specific commit SHA)
that installs mise, or (2) downloading the mise binary and its published
checksum and verifying the checksum before executing/installing, or (3) invoking
mise's official installer/wrapper that performs integrity checks; update the
step to stop piping remote scripts to sh and ensure the installer source is
pinned and checksum-verified (refer to the "Install mise" step and the use of
mise install in the diff).

In @.github/workflows/release.yml:
- Around line 31-37: The "Install mise" step is insecure because it pipes a
remote installer via curl into sh; replace this with the official mise GitHub
Action pinned to an exact commit SHA (avoid runtime network install). Remove the
curl ... | sh block and instead add a uses: entry like uses:
<owner>/mise-action@<commit-sha> (pin to a commit SHA), pass the MISE_VERSION
via action inputs or env if supported, and ensure any required PATH changes or
setup are done via the action's documented outputs/steps rather than appending
to GITHUB_PATH manually; update the step name "Install mise" and the job that
writes releases/uses OIDC to use the pinned action.

In `@amplify.yml`:
- Line 6: Replace the unsafe “curl https://mise.run | MISE_VERSION=v2026.5.6 sh”
pattern by downloading the installer to a local file, verifying its
checksum/signature, and only then executing it; specifically, change the entry
that references the curl pipe command (the line containing "curl
https://mise.run | MISE_VERSION=v2026.5.6 sh") so the pipeline: (1) downloads
the installer to a temp file, (2) fetches or embeds the expected checksum or
signature and verifies the downloaded file, and (3) executes the installer only
if verification succeeds, failing the build with a clear error if verification
fails.
- Around line 11-13: The three echo lines write potentially empty VITE variables
into packages/widget/.env and append each time; change to a fail-fast check that
validates VITE_YIELDS_API_URL, VITE_API_URL, and VITE_API_KEY are set and
non-empty (exit non-zero with a clear error if any are missing), and then
rewrite (overwrite) packages/widget/.env deterministically instead of appending
so the file isn’t duplicated; locate the echo usages for VITE_YIELDS_API_URL,
VITE_API_URL, and VITE_API_KEY and replace them with a pre-check+single
overwrite sequence that fails on missing values and writes the three variables
atomically to .env.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f1ec88aa-4c00-4f19-8417-f083113c7fa6

📥 Commits

Reviewing files that changed from the base of the PR and between 0b60e3e and 20fa954.

⛔ Files ignored due to path filters (2)
  • mise.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (12)
  • .changeset/README.md
  • .changeset/config.json
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .gitignore
  • .release-please-manifest.json
  • amplify.yml
  • mise.toml
  • package.json
  • release-please-config.json
  • turbo.json
  • vercel.json
💤 Files with no reviewable changes (3)
  • vercel.json
  • .changeset/config.json
  • .changeset/README.md

Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/release.yml
Comment thread amplify.yml
Comment thread amplify.yml
@petar-omni petar-omni requested a review from Philippoes May 18, 2026 22:11
@petar-omni petar-omni closed this May 19, 2026
@petar-omni petar-omni deleted the ci/update-ci-flows branch May 19, 2026 13:57
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