* Make the devdocs more complete and self-contained * Rename devdocs/misc-notes-from-contributors.md to devdocs/misc/misc_notes_for_committers.md * Document the dependencies of the build script * No need to manually make multiple commits --------- Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
3.1 KiB
Making a new release of this action (requires commit access)
If you have commit access to this repo, you can make a new release.
Here are the instructions.
Step 1: Clone a fresh copy of the repo
We intentionally work in a brand-new copy of the repo.
git clone git@github.com:julia-actions/setup-julia.git
cd setup-julia
git checkout master
git submodule init
git submodule update
Step 2: Make sure you have the right version of NodeJS
If you use asdf, this is as simple as:
asdf plugin add nodejs
asdf install
If you don't use asdf, then you need to:
- Open the
./tool-versionsfile in the root of the repo. - Make note of the NodeJS version listed in the
.tool-versionsfile. - Install that same version of NodeJS on your machine.
- Make sure that you are currently using that version of NodeJS (i.e. it is at the front of your PATH).
Step 3: Edit the version field in package.json
vim package.json
# Edit the `version` number (should be line 2)
# Save your changes in Vim. Then exit Vim.
# For the remaining of this guide, let MAJOR.MINOR.PATCH refer
# to the new version number that you set.
git add package.json
# No need to commit yet.
# The release script will run `git commit`.
Step 4: Remove the dist/ line from the .gitignore file
vim .gitignore
# Delete the line that says `dist/` (it should be line 3)
# Save your changes in Vim. Then exit Vim.
git add .gitignore
# No need to commit yet.
# The release script will run `git commit`.
Step 5: Make sure you have the necessary dependencies
The build-release.sh script requires the following dependencies:
- Bash
curlgitjqsed
Step 6: Run the build-release.sh script
ls -l bin/build-release.sh
chmod +x bin/build-release.sh
ls -l bin/build-release.sh
./bin/build-release.sh julia-actions/setup-julia
Wait a minute or two. The script will build everything and will create a new release branch named releases/vMAJOR.MINOR.PATCH.
Step 7: Push ONLY the releases/vMAJOR.MINOR.PATCH branch
Only push the releases/ branch. Do NOT push any tags yet.
git push origin releases/vMAJOR.MINOR.PATCH
Now you need to go to https://github.com/julia-actions/setup-julia/tree/releases/vMAJOR.MINOR.PATCH and wait for CI to finish running.
Do NOT proceed to the next step until CI is all green on the releases/vMAJOR.MINOR.PATCH branch.
Step 8: Push the tags (only after CI is all green)
Once CI is all green on the releases/vMAJOR.MINOR.PATCH branch, you can push the tags.
You need to force-push.
git push --tags --force
Step 9: Use the GitHub web UI to create a new GitHub Release
Go to https://github.com/julia-actions/setup-julia/releases and create a new release for the now-existant vMAJOR.MINOR.PATCH tag using the GitHub web interface.
Step 10: Clean up your local repo
git submodule deinit --force .
git submodule update --init
git fetch --all --prune
git checkout master
git reset --hard origin/master
Step 11: Delete your local repo
cd ..
ls setup-julia
rm -rf setup-julia