|
1 | 1 | # Release process
|
2 | 2 |
|
| 3 | +## All releases |
| 4 | + |
3 | 5 | This document simply outlines the release process:
|
4 | 6 |
|
5 |
| -1. Remove all `-dev` extension from versions (see below for all files) |
| 7 | +1. Ensure you are running on the oldest supported Erlang version |
| 8 | + |
| 9 | +2. Remove all `-dev` extension from versions (see below for all files) |
| 10 | + |
| 11 | +3. Ensure CHANGELOG is updated and add current date |
| 12 | + |
| 13 | +4. Commit changes above with title "Release vVERSION" and generate new tag |
| 14 | + |
| 15 | +5. Run `make clean test` to ensure all tests pass from scratch and the CI is green |
| 16 | + |
| 17 | +6. Ensure minimum supported Hex works with new release (instructions upcoming) |
6 | 18 |
|
7 |
| -2. Ensure CHANGELOG is updated and add current date |
| 19 | +7. Push master and the new tag |
8 | 20 |
|
9 |
| -3. Commit changes above with title "Release vVERSION" and generate new tag |
| 21 | +8. Release new docs with `make release_docs`, move docs to `docs/stable` and push them |
10 | 22 |
|
11 |
| -4. Run `make clean test` to ensure all tests pass from scratch and the CI is green |
| 23 | +9. Release new zip with `make release_zip`, push `Precompiled.zip` to GitHub Releases |
12 | 24 |
|
13 |
| -5. Push master and the new tag |
| 25 | +10. Add the release to `elixir.csv` file in `elixir-lang/elixir-lang.github.com` |
14 | 26 |
|
15 |
| -6. Release new docs with `make release_docs`, move docs to `docs/stable` |
| 27 | +## New vMAJOR.MINOR releases |
16 | 28 |
|
17 |
| -7. Release new zip with `make release_zip`, push new zip to GitHub Releases, name it `Precompiled.zip` |
| 29 | +11. Create a new branch "vMAJOR.MINOR" release |
18 | 30 |
|
19 |
| -8. Fast-forward merge master into stable branch with `git merge master --ff` and push it |
| 31 | +12. Move stable docs to `docs/vOLD-MAJOR.OLD-MINOR` |
20 | 32 |
|
21 |
| -9. After release, bump versions, add `-dev` back and commit |
| 33 | +13. Move master docs to `docs/stable` |
22 | 34 |
|
23 |
| -10. `make release_docs` once again and push it to `elixir-lang/docs` |
| 35 | +14. Bump versions, start new CHANGELOG, add `-dev` back and commit "Start vVERSION+1" |
24 | 36 |
|
25 |
| -11. Add the release to `elixir.csv` file in `elixir-lang/elixir-lang.github.com` |
| 37 | +15. `make release_docs` and push it to `elixir-lang/docs` |
26 | 38 |
|
27 | 39 | ## Places where version is mentioned
|
28 | 40 |
|
|
0 commit comments