Skip to content
New issue

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

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

Already on GitHub? # to your account

[chore] Improve release tooling #10516

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

[chore] Improve release tooling #10516

wants to merge 13 commits into from

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

Unfortunately it's very cumbersome to test the whole process end-to-end.

Thus, I recommend testing it unitarily instead.

These scripts support a RELEASE_DRY_RUN env variable allowing to skip all mutations to git, GitHub or npm.

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

Then:

To test the pre-release steps: RELEASE_DRY_RUN=true make release
To test the pre-publish steps: cd packages/react-admin && RELEASE_DRY_RUN=true yarn run prepublishOnly
To test the post-publish steps: cd packages/react-admin && RELEASE_DRY_RUN=true yarn run postpublish

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
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

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
RFR Ready For Review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants