Skip to content

Commit 26da3f4

Browse files
committed
Merge pull request #2535 from mboersma/release-schedule-docs
docs(schedule): add release schedule & planning documentation
2 parents 0f568eb + a8bb667 commit 26da3f4

3 files changed

Lines changed: 106 additions & 3 deletions

File tree

docs/contributing/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ Contributing
1515
standards
1616
community
1717
conduct
18+
schedule
1819
releases
1920
test_plan

docs/contributing/schedule.rst

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
:title: Release Schedule
2+
:description: When does Deis have major, minor, and patch releases?
3+
4+
.. _release_schedule:
5+
6+
Release Schedule
7+
================
8+
9+
Some of the greatest assets of the Deis project are velocity and agility.
10+
Deis changed rapidly and with relative ease during initial development.
11+
12+
Deis now harnesses those strengths into powering a regular, public release
13+
cadence. From v1.0.0 onward, the Deis project will release a minor version each
14+
month, with patch versions as needed. The project will use GitHub milestones to
15+
communicate the content and timing of major and minor releases.
16+
17+
Deis releases are not feature-based, in that dates are not linked to specific
18+
features. If a feature is merged before the release date, it is included in the
19+
next minor or major release.
20+
21+
The master ``git`` branch of Deis always works. Only changes considered ready to
22+
be released publicly are merged, and releases are made from master.
23+
24+
Semantic Versioning
25+
-------------------
26+
27+
Deis releases comply with `semantic versioning`_, with the "public API" broadly
28+
defined as:
29+
30+
- the REST API for *deis-controller*
31+
- etcd keys and values that are publicly documented
32+
- ``deis`` and ``deisctl`` commands and options
33+
- essential ``Makefile`` targets
34+
- provider scripts under ``contrib/``
35+
36+
Users of Deis can be confident that upgrading to a patch or to a minor release
37+
will not change the behavior of these items in a backward-incompatible way.
38+
39+
40+
Patch Releases
41+
--------------
42+
43+
A patch release of Deis includes backwards-compatible bug fixes. Upgrading to
44+
this version is safe and can be done in-place.
45+
46+
Backwards-compatible bug fixes to Deis are merged into the master branch at any
47+
time after they have :ref:`two approval comments <merge_approval>`.
48+
49+
Patch releases are created as often as needed, based on the priority of one or
50+
more bug fixes that have been merged. If time or severity is crucial, an
51+
individual maintainer can create a patch release without consensus from others.
52+
Patch releases are created from a previous release by cherry-picking specific
53+
bug fixes from the master branch, then applying and pushing the new release tag.
54+
55+
56+
Minor Releases
57+
--------------
58+
59+
A minor release of Deis introduces functionality in a backward-compatible
60+
manner. Upgrading to this version is safe and can be done in-place.
61+
62+
Backwards-compatible functionality changes to Deis are merged into the master
63+
branch after they have :ref:`two approval comments <merge_approval>`, and after
64+
the PR has been assigned to a milestone tracking the minor release.
65+
66+
It is preferable to merge several backwards-compatible functionality changes for
67+
a single minor release.
68+
69+
The Deis project will use GitHub milestones to communicate the content and
70+
timing of planned minor releases. Currently project maintainers meet each week
71+
on Thursday afternoon to assign pull requests to milestones.
72+
73+
The Deis project will release a minor version of the platform on the first
74+
Tuesday of each month. The target day may be shifted to accomodate holidays or
75+
unusual circumstances. If project maintainers agree, an additional minor release
76+
may occur between planned releases. Code freeze and :ref:`further acceptance
77+
tests <features_to_be_tested>` begin on the Thursday before a targeted release.
78+
79+
A minor release may be superceded by a major release.
80+
81+
82+
Major Releases
83+
--------------
84+
85+
A major release of Deis introduces incompatible API changes. Upgrading to this
86+
version may involve a backup and restore process. Custom integrations with Deis
87+
may need to be updated.
88+
89+
Incompatible changes to Deis are merged into the master branch deliberately, by
90+
agreement among maintainers. In addition to
91+
:ref:`two approval comments <merge_approval>`, the pull request must be assigned
92+
to a planning milestone for that release, at which point it can be merged when
93+
release activities and testing begin.
94+
95+
The Deis project will use GitHub milestones to communicate the content and
96+
timing of planned major releases.
97+
98+
99+
.. _`semantic versioning`: http://semver.org/spec/v2.0.0.html

docs/contributing/test_plan.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,16 @@ Test Plan
99
Identifier
1010
----------
1111

12-
This document's identifier is **OPD-MTP-0.16.0**. The identifier changes with
12+
This document's identifier is **OPD-MTP-1.0.1**. The identifier changes with
1313
any significant revision to the document.
1414

1515

1616
References
1717
----------
1818

19-
- "Testing Deis": http://docs.deis.io/en/v1.0.0/contributing/testing/
20-
- "Changes Must Include Tests": http://docs.deis.io/en/v1.0.0/contributing/standards/#include-tests
19+
- "Testing Deis": http://docs.deis.io/en/v1.0.1/contributing/testing/
20+
- "Changes Must Include Tests": http://docs.deis.io/en/v1.0.1/contributing/standards/#include-tests
21+
- "Release Schedule": http://docs.deis.io/en/v1.0.1/contributing/schedule/
2122

2223

2324
Introduction
@@ -49,6 +50,8 @@ Within the scope of this master test plan are these items:
4950
- Docker images hosted at https://registry.hub.docker.com/repos/deis/
5051

5152

53+
.. _features_to_be_tested:
54+
5255
Features to be Tested
5356
---------------------
5457

0 commit comments

Comments
 (0)