This document simply outlines the release process:
-
Ensure you are running on the oldest supported Erlang version
-
Remove all
-dev
extension from versions (see below for all files) -
Ensure CHANGELOG is updated and add current date
-
Commit changes above with title "Release vVERSION" and generate new tag
-
Run
make clean test
to ensure all tests pass from scratch and the CI is green -
Recompile an existing project (for example, Ecto) to ensure manifests can be upgraded
-
Push branch and the new tag
-
Publish new docs with
make publish_docs
, copy docs todocs/stable
if appropriate, and push to GitHub Pages -
Publish new zips with
make publish_zips
, uploadPrecompiled.zip
andDocs.zip
to GitHub Releases -
Add the release to
elixir.csv
file inelixir-lang/elixir-lang.github.com
-
Create a new branch "vMAJOR.MINOR"
-
Move docs generation to
docs/vMAJOR.MINOR
in Makefile and copy them fromdocs/stable
(change index.html accordingly) -
In master, bump versions, start new CHANGELOG, add
-dev
back and commit "Start vVERSION+1"
- VERSION (make sure there is no newline in this file)
- CHANGELOG.md
- src/elixir.app.src (not lib/elixir/src/elixir.app.src)