Merge pull request #61 from nextcloud/chore/fix-app-release-process-markdown-format

Fix markdown formatting of app release doc
This commit is contained in:
Anna 2022-10-14 13:20:46 +02:00 коммит произвёл GitHub
Родитель 32307ccea1 a8324658ee
Коммит eb3fe33fa6
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 20 добавлений и 34 удалений

Просмотреть файл

@ -1,75 +1,61 @@
## App release commands
# App Release Commands
#### Below you will find step by step how to do a release for groupware apps
Below you will find step by step how to do a release for groupware apps
## Preparation
1. Change directory to the app directory and make sure your environment is clean with `git status`
2. Check if you have the remote release by running `git remote -v` if that points to `git@github.com:nextcloud-releases/AppName.git`, you're good
3. If you don't see that in the list, do `git remote add release git@github.com:nextcloud-releases/AppName.git`
## Process of the release
## Process of a release
4. For patch release do `git checkout stablex.x` (the latest stable version you have) or master/main for major/minor release (this is the branch we want to release)
5. `git pull` to have the latest changes
6. `git log v1.2.3..HEAD --oneline` - this shows all the commits from version v1.2.3 (last release) to HEAD (latest unreleased commit)
6.1 To ignore the "Merge .." commit you do `git log v1.2.3..HEAD --oneline | grep -v "Merge "`
1. To ignore the "Merge .." commit you do `git log v1.2.3..HEAD --oneline | grep -v "Merge "`
7. The commits will be shown, and then we can create a change log with the commits that are shown.
8. We change the version on `info.xml`, `package.json` and `package-lock.json`
8.1 Tip - Expected number of changed files is 4
1. Tip - Expected number of changed files is 4
9. `git checkout -b release/x.x.x` to create the release branch
10. `git add`, `git commit` (add the version as message) and then we can
11. `git push origin release/x.x.x` and open a new PR against the target branch (stablex.xx or master/main)
12. Once merged, switch back to the target branch and `git pull` the latest changes
13. `git tag vx.x.x`
14. `git push origin stablex.x vx.x.x` (this means we push the commit + tag)
15. Run `git push release stablex.x vx.x.x` to push it also to the release remote
15.1 In case you're releasing from `main`, only push the tag to the release remote: `git push release vx.xx.xx`
1. In case you're releasing from `main`, only push the tag to the release remote: `git push release vx.xx.xx`
16. If the case is a minor or major version, you need to branch off this minor or major release: `git checkout -b stablex.x` then do `git push origin stablex.x`
17. We go to the release's repository tags page, e.g. https://github.com/nextcloud-releases/mail/tags
17.1 On the draft we add the tag we created, add the change log and publish the release
17.2 Wait a few minutes for the automation to build the app
17.3 The package will be automatically built and attached to the new release
1. On the draft we add the tag we created, add the change log and publish the release
2. Wait a few minutes for the automation to build the app
3. The package will be automatically built and attached to the new release
18. Open the app's main repo and close the vx.y.z milestone (Issues -> Milestones in the Right Upper Corner)
19. Create a milestone for the next patch/major/minor version
20. After branch off, you need to create a new separate PR against main to change the `info.xml` version to x.x.0-alpha.1, so add the suffix `-alpha.1` to your branch off release version
21. If the release was for patch version, forward-port the changelog to master/main. Open a PR against main with the section of the changelog of your current release. Push it and after merge you're done.
## Process of the pre-release
### Alpha and beta have the same steps, just replace alpha with beta on steps below
## Process of a pre-release
Alpha and beta have the same steps, just replace alpha with beta on steps below
1. Do git checkout main
2. Change info.xml and CHANGELOG.MD
2.1. Do `git log v1.2.3..HEAD --oneline | grep -v "Merge "` - v1.2.3 is the last release
1. Do `git log v1.2.3..HEAD --oneline | grep -v "Merge "` - v1.2.3 is the last release
3. git tag v1.2.3-alpha1(or 2/3/4/5..)
4. git push origin v1.2.3-alpha1(or 2/3/4/5..)
5. git push release v1.2.3-alpha1(or 2/3/4/5..)
6. We go to the release's repository tags page, e.g. https://github.com/nextcloud-releases/mail/tags
6.1 On the draft we add the tag we created, add the change log, tick the "This is a pre- release" checkbox and publish the release
6.2 Wait a few minutes for the automation to build the app
6.3 The package will be automatically built and attached to the new release
1. On the draft we add the tag we created, add the change log, tick the "This is a pre- release" checkbox and publish the release
2. Wait a few minutes for the automation to build the app
3. The package will be automatically built and attached to the new release
## Naming Conventions
1) appinfo.xml:
1) appinfo.xml
- Regular Release `1.2.3`
- Release Candidate: `1.2.3-rc.1`
- Alpha / Beta: `1.2.3-alpha.1`, `1.2.3-beta.1`
2) package.json and package-lock.json: `1.2.3`
4) git tag:
3) git tag
- Regular Release `v1.2.3`
- Release Candidate: `v1.2.3-rc1`
- Alpha / Beta: `v1.2.3-alpha1`, `v1.2.3-beta1`