Improve app release documentation
Signed-off-by: greta <gretadoci@gmail.com>
This commit is contained in:
Родитель
61a1062a5c
Коммит
ed294d85d9
|
@ -1,48 +1,47 @@
|
|||
## 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
|
||||
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)
|
||||
|
||||
2. 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
|
||||
|
||||
3. `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)
|
||||
|
||||
4. `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 "`
|
||||
|
||||
4.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.
|
||||
|
||||
5. 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`
|
||||
|
||||
6. We change the version on `info.xml`, `package.json` and `package-lock.json`
|
||||
8.1 Tip - Expected number of changed files is 4
|
||||
|
||||
6.1 Tip - Expected number of changed files is 4
|
||||
9. `git checkout -b release/x.x.x` to create the release branch
|
||||
|
||||
7. `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
|
||||
|
||||
8. `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)
|
||||
|
||||
9. `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
|
||||
|
||||
10. Once merged, switch back to the target branch and `git pull` the latest changes
|
||||
13. `git tag vx.x.x`
|
||||
|
||||
11. `git tag vx.x.x`
|
||||
14. `git push origin stablex.x --tags` (this means we push the commit + tags)
|
||||
15. Run `git push release stablex.x --tags` to push it also to the release remote
|
||||
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`
|
||||
|
||||
12. `git push origin stablex.x --tags` (this means we push the commit + tags)
|
||||
17. We go to the release's repository tags page, e.g. https://github.com/nextcloud-releases/mail/tags
|
||||
|
||||
13. We should also push it to the release `git push release stablex.x --tags`
|
||||
17.1 On the draft we add the tag we created, add the change log and publish the release
|
||||
|
||||
14. Then we go to the release's repository tags page, e.g. https://github.com/nextcloud-releases/mail/tags
|
||||
|
||||
14.1 On this draft we add the tag we created, add the change log and publish the release
|
||||
|
||||
14.2 Wait a few minutes for the automation to build the app
|
||||
17.2 Wait a few minutes for the automation to build the app
|
||||
|
||||
16.3 The package will be atuomatically built and attached to the new release
|
||||
17.3 The package will be automatically built and attached to the new release
|
||||
|
||||
15. Open the app's main repo and close the vx.y.z milestone (Issues -> Milestones in the Right Upper Corner)
|
||||
|
||||
16. Create a milestone for the next patch version
|
||||
|
||||
17. If the release was for patch version, forward-port the changelog to master/main (`git checkout stablex.x CHANGELOG.md`)
|
||||
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 (`git checkout stablex.x CHANGELOG.md`)
|
||||
|
|
Загрузка…
Ссылка в новой задаче