Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: migrate releases to Nx version plans #281

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

Hotell
Copy link
Contributor

@Hotell Hotell commented Jan 13, 2025

Pre-requirements

New Behaviour

migrates releases from beachball to NX Release Plans which add various needed features to our release process

  • dry-run mode for all release steps ( including npm publish )
  • completely mitigates out of sync release issues caused by npm publish errors
    • we can re-trigger Publish indefinitely until registry contains all required assets that were part of the pipeline
  • dynamically configurable release trigger
  • security:
    • de-chunked releases steps are ready for PAT bail out as a follow-up
  • perf:

New Release pipeline architecture:

flowchart LR

subgraph Release
assets['build,lint,test,type-check']-->bump-versions-->generate-changelogs-->push-to-origin
end

subgraph Publish
build-production-assets-->npm-publish
end


Release-->RS
RS -- yes --> Publish
RS -- no --> FAIL

Publish-->PS
PS -- yes --> OK
PS -- no --> FAIL



RS@{ shape: diamond, label: "Release success?" }
PS@{ shape: diamond, label: "Publish success?" }
OK["pipeline success"]
FAIL["pipeline failure"]

Loading

TODO:

  • port all beachball change files to version plans
  • remove all CHANGELOG.json files

Release plans Missing features:

Dependency-Check rule issues

note: this rule goes hand in hand with enabling version plans as bumping dependants is propagated only through projects that have properly specified versions within package.json ( its not using actual ProjectGraph )

@Hotell Hotell force-pushed the migrate-to-version-plans branch from e7ffdaf to 1bf0081 Compare January 14, 2025 08:57
@Hotell Hotell changed the title Migrate to version plans feat: migrate releases to Nx version plans Jan 14, 2025
@Hotell Hotell force-pushed the migrate-to-version-plans branch 2 times, most recently from dbb5bff to 0b2872d Compare January 20, 2025 14:27
@@ -31,11 +31,17 @@ jobs:

- run: yarn install --frozen-lockfile

- name: 'Check duplicates in yarn.lock'
Copy link
Contributor Author

Choose a reason for hiding this comment

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

wrong copy paste - remove

@Hotell Hotell force-pushed the migrate-to-version-plans branch from 4ec0665 to d46d7fe Compare February 27, 2025 09:10
Copy link
Contributor Author

Choose a reason for hiding this comment

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

no longer needed - we use nx release plan:check

@@ -0,0 +1,5 @@
---
react-shadow: patch
---
Copy link
Contributor Author

Choose a reason for hiding this comment

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

remove

@@ -0,0 +1,7 @@
{
"type": "none",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

remove

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