|
| 1 | +<!--- |
| 2 | + Copyright 2022 Axis Communications AB. |
| 3 | + For a full list of individual contributors, please see the commit history. |
| 4 | +
|
| 5 | + Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | + you may not use this file except in compliance with the License. |
| 7 | + You may obtain a copy of the License at |
| 8 | +
|
| 9 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | +
|
| 11 | + Unless required by applicable law or agreed to in writing, software |
| 12 | + distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | + See the License for the specific language governing permissions and |
| 15 | + limitations under the License. |
| 16 | +---> |
| 17 | + |
| 18 | +# Release process |
| 19 | + |
| 20 | +This document describes the release process for Eiffel editions. |
| 21 | + |
| 22 | +## Pre-release activities |
| 23 | + |
| 24 | +Look up the name of the next edition in the [Versioning](../eiffel-syntax-and-usage/versioning.md) document. |
| 25 | + |
| 26 | +GitHub [milestones](https://github.com/eiffel-community/eiffel/milestones?state=open) are used to track the proposed contents of an upcoming edition. Milestones are named "Edition \<name>", e.g. "Edition Arica". Issues, not pull requests, are added to the milestone. |
| 27 | + |
| 28 | +## Making a release |
| 29 | + |
| 30 | +When all issues in the scope of the edition have been closed and it's time to make the release, follow these steps: |
| 31 | + |
| 32 | +1. Verify that all issues in the [milestone](https://github.com/eiffel-community/eiffel/milestones?state=open) are closed. |
| 33 | +1. Create a pull request with the following changes (see [PR 277](https://github.com/eiffel-community/eiffel/pull/277) for reference): |
| 34 | + 1. Change all "No edition set" entries in the release tables of the latest YAML file for each event type to a link to the not yet existing edition tag. |
| 35 | + 1. Claim the edition in [versioning.md](../eiffel-syntax-and-usage/versioning.md), including a short summary of the changes in the edition. |
| 36 | +1. When the pull request has been merged, create and push an "edition-\<name>" annotated tag (use `git tag -a`). The tag comment could include a short version of the included changes to the protocol. Any new major versions of event types should be called out. |
| 37 | +1. Create a GitHub release based on the newly pushed tag. The tag comment can probably be reused as the release description. |
| 38 | +1. Create issue(s) for updating other repositories to reference the new edition: |
| 39 | + 1. [eiffel-sepia](https://github.com/eiffel-community/eiffel-sepia) |
| 40 | +1. Announce the new edition on the eiffel-community mailing list, LinkedIn, and Slack and ask maintainers of other repositories to make necessary updates. |
| 41 | +1. Mark the edition's milestone as closed. |
0 commit comments