Skip to content

Commit 2244849

Browse files
committed
Add release doc
1 parent cce731e commit 2244849

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

RELEASE.md

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Release process
2+
3+
This document simply outlines the release process:
4+
5+
1. Ensure you are running on the oldest supported Elixir version (check `.travis.yml`)
6+
7+
2. Ensure `CHANGELOG.md` is updated and add current date
8+
9+
3. Change the version number in `mix.exs` and `README.md`
10+
11+
4. Run `mix test` to ensure all tests pass
12+
13+
5. Commit changes above with title "Release vVERSION" and push to GitHub
14+
15+
git add .
16+
git commit -m"Release vX.Y.Z"
17+
git push origin master
18+
19+
6. Check CI is green
20+
21+
7. Create a release on GitHub and add the CHANGELOG from step #2 (https://github.com/graphql-elixir/graphql/releases/new) using VERSION as the tag and title
22+
23+
8. Publish new hex release with `mix hex.publish`
24+
25+
9. Publish hex docs with `mix hex.docs`
26+
27+
## Deprecation policy
28+
29+
GraphQL deprecations happen in 3 steps:
30+
31+
1. The feature is soft-deprecated. It means both CHANGELOG and documentation must list the feature as deprecated but no warning is effectively emitted by running the code. There is no requirement to soft-deprecate a feature.
32+
33+
2. The feature is effectively deprecated by emitting warnings on usage. In order to deprecate a feature, the proposed alternative MUST exist for AT LEAST two versions.
34+
35+
3. The feature is removed. This can only happen on major releases.

0 commit comments

Comments
 (0)