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