|
Steps to be done before new release:
|
|
# Release Cycle
|
|
|
|
|
|
* [ ] Create issue `Release yy.mm` in the [kypo-crp-deployment](https://gitlab.ics.muni.cz/muni-kypo-crp/devops/kypo-crp-deployment/-/issues) and set the proper tags of the services.
|
|
1. Create a [new milestone](https://gitlab.ics.muni.cz/groups/muni-kypo-crp/-/milestones/new) with the title in format `YYYY.MM.Index` - year, month, and the index of the release within that month.
|
|
* [ ] Deploy the KYPO instance on the stagging and check that all services are running.
|
|
|
|
* [ ] Open the related [milestone](https://gitlab.ics.muni.cz/groups/muni-kypo-crp/-/milestones) and go through the issues, check if they are resolved in the deployed KYPO instance. If so, close the issue.
|
|
Assign as many issues as you can resolve up to the release date.
|
|
* [ ] Check if the documentation is up to date. |
|
|
|
\ No newline at end of file |
|
2. Create a [new issue](https://gitlab.ics.muni.cz/muni-kypo-crp/devops/kypo-crp-deployment/-/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_id%5D=) with the title in format `Release YY.MM` - year, month, and optionally the index of the release within that month.
|
|
|
|
|
|
|
|
Copy the necessary steps of the following description into the new issue.
|
|
|
|
|
|
|
|
```
|
|
|
|
Update Docker image tags of all KYPO microservices in the file [kypo-crp-deployment/provisioning/group_vars/all.yml](https://gitlab.ics.muni.cz/muni-kypo-crp/devops/kypo-crp-deployment/-/blob/master/provisioning/group_vars/all.yml).
|
|
|
|
* [ ] Java:
|
|
|
|
* [user-and-group](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo2-user-and-group)
|
|
|
|
* [training](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo2-training)
|
|
|
|
* [adaptive training](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo-adaptive-training)
|
|
|
|
* [elasticsearch](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo-elasticsearch-service)
|
|
|
|
* [smart assistant](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo-adaptive-smart-assistant)
|
|
|
|
* [ ] Python:
|
|
|
|
* [sandbox service](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-python/kypo-sandbox-service)
|
|
|
|
* [ansible runner](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-python/kypo-ansible-runner)
|
|
|
|
* [ ] Angular:
|
|
|
|
* [trainings](https://gitlab.ics.muni.cz/muni-kypo-crp/frontend-angular/kypo2-trainings)
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
**TODO**: We could create a template for this issue.
|
|
|
|
|
|
|
|
Assign this issue to all group leaders and let them do the integration and testing using the local Vagrant/VirtualBox KYPO instance.
|
|
|
|
|
|
|
|
3. Once the release branch is ready to be merged, deploy the KYPO instance on the staging server and check whether the KYPO CRP works properly.
|
|
|
|
|
|
|
|
4. Go through the related [milestone](https://gitlab.ics.muni.cz/groups/muni-kypo-crp/-/milestones) and check if the issues are resolved in the deployed KYPO instance. If so, close the issue. If not, report the issue to the responsible group leader.
|
|
|
|
|
|
|
|
5. Check if the documentation is up to date.
|
|
|
|
|
|
|
|
6. Once everything is ready to be released, create release tags in format `YY.MM` from tags previously specified in the file [kypo-crp-deployment/provisioning/group_vars/all.yml](https://gitlab.ics.muni.cz/muni-kypo-crp/devops/kypo-crp-deployment/-/blob/master/provisioning/group_vars/all.yml) and again update the file with release tags.
|
|
|
|
|
|
|
|
* Java:
|
|
|
|
* [user-and-group](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo2-user-and-group/-/tags/new)
|
|
|
|
* [training](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo2-training/-/tags/new)
|
|
|
|
* [adaptive training](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo-adaptive-training/-/tags/new)
|
|
|
|
* [elasticsearch](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo-elasticsearch-service/-/tags/new)
|
|
|
|
* [smart assistant](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-java/kypo-adaptive-smart-assistant/-/tags/new)
|
|
|
|
* Python:
|
|
|
|
* [sandbox service](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-python/kypo-sandbox-service/-/tags/new)
|
|
|
|
* [ansible runner](https://gitlab.ics.muni.cz/muni-kypo-crp/backend-python/kypo-ansible-runner/-/tags/new)
|
|
|
|
* Angular:
|
|
|
|
* [trainings](https://gitlab.ics.muni.cz/muni-kypo-crp/frontend-angular/kypo2-trainings/-/tags/new)
|
|
|
|
|
|
|
|
Squeeze the group leaders hard enough so that they'll produce changelogs of their microservices and add them to the tags release notes in the following format.
|
|
|
|
|
|
|
|
```
|
|
|
|
# Version YY.MM
|
|
|
|
|
|
|
|
Month DD, YYYY
|
|
|
|
|
|
|
|
# Changelog
|
|
|
|
|
|
|
|
* Change one.
|
|
|
|
```
|
|
|
|
|
|
|
|
7. Finally, merge the release issue and create a release tag on the [deployment project](https://gitlab.ics.muni.cz/muni-kypo-crp/devops/kypo-crp-deployment/-/tags/new) in the same format as the others `YY.MM`.
|
|
|
|
|
|
|
|
For release notes, compose a changelog from all the previous changelogs and optionally changelog for the deployment project.
|
|
|
|
|
|
|
|
Also, mention any potential issues with upgrading from the previous KYPO CRP version. |
|
|
|
\ No newline at end of file |