PR Process
Basic Requirements
Section titled “Basic Requirements”- All changes are merged into
mainvia PR. - After a PR is set to Ready for Review, the validation workflow
.github/workflows/pr-release-check.yamlruns. - Merge only after checks pass.
What PR Validation Includes
Section titled “What PR Validation Includes”The workflow runs two groups of checks:
-
Release metadata- Determines whether this PR requires a release plan.
- Runs
pnpm run release:plan:check --base=... --head=...when needed.
-
Build libs- Installs pnpm dependencies (
pnpm install --frozen-lockfile). - Runs
pnpm run ci:build:libs.
- Installs pnpm dependencies (
When a Release Plan Is Required
Section titled “When a Release Plan Is Required”The check logic is in .github/scripts/check-release-requirements.mjs:
- If all changes are in ignored scopes (docs/CI/infrastructure, etc.), the PR must have the
no-releaselabel. - Otherwise, if there are non-ignored file changes, a release plan is required (stored in
.nx/version-plans/). no-releasecan only be used for PRs where all changes are in ignored scopes.
Create a Release Plan Locally
Section titled “Create a Release Plan Locally”Run in the repository root:
# Generate plans only for touched projects (default behavior)pnpm nx release planThen choose the bump level for each package and enter changelog messages as prompted.
The command generates plan files in .nx/version-plans/; commit them together with your changes.
About Merging
Section titled “About Merging”A branch protection rule is enabled to allow only squash merges, keeping main clean.