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:
Коммит
eb3fe33fa6
|
@ -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`
|
||||
|
|
Загрузка…
Ссылка в новой задаче