-
Notifications
You must be signed in to change notification settings - Fork 520
Admin : Publishing Releases
Kenny edited this page May 15, 2022
·
20 revisions
** !!!!! Never publish from the direct branch of the MAJOR version !!!!! **
This project uses Lerna, which has automated revisioning and publishing.
- Create a 'release' branch from the major release branch. This is used for publishing only.
- Clone a new copy of the repository.
- Checkout the new 'release' branch.
If necessary, clone the repository and checkout the 'release' branch.
Test the release:
- git checkout release
- git pull
- npm install
- npm run bootstrap
- npm test
- npm run test:tsd
- npm run docs
If there are any issues then stop and fix those now.
Publish the release: (Automated so be 100% sure!)
- npm login (permission to publish all NPM packages is required)
- npm run publish
- a list of version changes will be shown
- verify that each version is as expected
- answer 'y' to publish
If there are any surprises then stop and find out why.
Commit the release:
- git diff origin/master
- search for CHANGELOG, and save the notes to a text file
- git push
- git push --tags
Review and Merge the release:
- Create a NEW PULL REQUEST from the 'release' branch
- Review the NEW PULL REQUEST. only change logs and version bumps should be present
- Get approve if all looks fine.
- Merge the NEW PULL REQUEST to the trunk branch VERY VERY IMPORTANT, DO NOT SQUASH MERGE, USE NORMAL MERGE
Publish the release to JSCAD Website:
- log into the production host as 'jscad'
- sudo -u www-data bash
- cd /var/www/openjscad.xyz/release
- ./distribute.sh
- Verify the changes were completed by accessing the website and the documentation
Post a notification to the User Group:
- follow the contents of previous notices