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

[chore] Improve release tooling #10516

Merged
merged 17 commits into from
Feb 21, 2025
Merged

[chore] Improve release tooling #10516

merged 17 commits into from
Feb 21, 2025

Conversation

slax57
Copy link
Contributor

@slax57 slax57 commented Feb 14, 2025

Problem

A large part of the react-admin release process is manual, thus cumbersome and prone to errors.

Solution

Further automate the release process.

  • Generate and reorder the changelog entries automatically
  • Use Github API to close milestone and create new milestone
  • Use Github API to create Github Release and copy the changelog
  • Script these steps and include them in the npm lifecycle

Out of scope

Some release steps are not automated yet (due to time constraints).
Examples:

  • running the EE tests
  • updating the docs
  • updating the create-react-admin dependencies

How To Test

These scripts support a RELEASE_DRY_RUN env variable allowing to skip all mutations to git, GitHub or npm, except 1 git commit (but not pushed!) from lerna.

First, create a .env file from the .env.template file and fill it in with your Github token.

Then run:

RELEASE_DRY_RUN=true make release

When this is done, don't forget to revert the commit created by lerna to update the versions:

git reset --hard HEAD~1

Additional Checks

  • The PR targets master for a bugfix, or next for a feature

@slax57 slax57 added the WIP Work In Progress label Feb 14, 2025
@slax57 slax57 added RFR Ready For Review and removed WIP Work In Progress labels Feb 18, 2025
Comment on lines +22 to +26
step "manual tests: Run the EE tests"
echo "Copy the the packages folder content inside the node_modules of ra-enterprise, then run a full build and run the tests"
echo "Tip: You can use the 'copy-ra-oss-packages-to-ee.sh' script if you have it"
echo "Press Enter when this is done"
read
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think we should agree on a directory structure and do this automatically

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes I have plans for this, but will do that in a later PR (hopefully)

Copy link
Collaborator

@djhi djhi left a comment

Choose a reason for hiding this comment

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

This is really cool!

'[demo]',
'[website]',
'[storybook]',
'[demo]',
Copy link
Member

Choose a reason for hiding this comment

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

demo is there twice

@slax57 slax57 added WIP Work In Progress and removed RFR Ready For Review labels Feb 21, 2025
@slax57
Copy link
Contributor Author

slax57 commented Feb 21, 2025

Back to WIP as I need to check the github tag will happen before the create-github-release script is run

@slax57
Copy link
Contributor Author

slax57 commented Feb 21, 2025

All fixed! back to RFR!

@slax57 slax57 removed the WIP Work In Progress label Feb 21, 2025
Copy link
Collaborator

@djhi djhi left a comment

Choose a reason for hiding this comment

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

Awesome!

@djhi djhi merged commit f9a814e into master Feb 21, 2025
16 checks passed
@djhi djhi deleted the release-tooling branch February 21, 2025 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFR Ready For Review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants