Update PackageReleaseProcedure authored by Erik von Reis's avatar Erik von Reis
1. Checkout source branch, usually just master. # Preparation
2. Pull latest version from cds
3. Update src/include/rcgversion.h if necessary and commit. If this is a dev release, set RCG_VERSION_REL to 0. If a full release, set to 1.
4. Update NEWS file if needed. 1. Checkout source branch, usually just master.
5. Commit any changes to master branch, then push the master branch 2. Pull latest version from cds
6. Tag commit with version number. If there is a '~', change that to an '_'. Omit any debian package number, usually a dash followed by a number. 3. Update src/include/rcgversion.h if necessary and commit. If this is a dev release, set RCG_VERSION_REL to 0. If a full release, set to 1.
- Here you need to generate the version identifier. If you are doing a DEV release you should add the dev keyword at the end of the tag. The format is `N.N.N` for standard releases and `N.N.N~devY` 4. Update NEWS file if needed.
- Some actual examples are `5.2.1` and `5.2.1~dev1`, and the tag would be `5.2.1_dev1` with the '~' replaced. 5. Commit any changes to master branch, then push the master branch
7. Checkout debian/buster branch 6. Tag commit with version number. If there is a '~', change that to an '_'. Omit any debian package number, usually a dash followed by a number.
8. Update the branch to the latest version from cds. - Here you need to generate the version identifier. If you are doing a DEV release you should add the dev keyword at the end of the tag. The format is `N.N.N` for standard releases and `N.N.N~devY`
9. For the following gbp commands, make sure the git repo is clean with no changes and no untracked files. - Some actual examples are `5.2.1` and `5.2.1~dev1`, and the tag would be
10. Import from the master branch with
``` From here, follow the automatic instructions. If using the automatic instructions,
gbp import-ref master -u <version> --upstream-tag='%(version)s' --debian-branch=debian/buster skip the manual instructions.
```
Replace `<version>` with the version number. Leave '~' characters as they are (don't change to underscore). Don't change the `%(version)s` part of the command. This is a tag template. # automatic instructions
11. Make any needed packaging changes 1. edit "auto_deb_release". Set "source_branch" to the branch use to release the source. Typically the source branch should be "master".
12. Update the changelog with: 2. `./auto_deb_release`. This script will detect problems, like the tag being on the wrong branch, or the release version not matching the tag, or if the tagged version was already packaged etc.
``` 3. If everything looks ok, the script will pop up an editor with the debian/changes file. Edit the items as appropriate. The header and signatures should be correct.
gbp dch -Rc -N <version>-1+deb10 -D stable --debian-branch debian/buster 4. save and quit. The script will append the same change notice to all debian branches, tag and push the code automatically.
```
- If this command locks up, try `--spawn-editor=never`
- The `*-1+*` is the packaging revision, if you are re-releasing with just packaging changes, you can increase the packaging version here. # Manual instructions
- You can remove the `-c` from the arguments if you don't want the command to automatically commit the change log. This is useful, when the editor is not spawning correctly.
Do the preparation instructions (above) first before doing the manual instructions.
13. Tag the debian branch with Only use the manual instructions if you skipped the automatic instructions.`5.2.1_dev1` with the '~' replaced.
``` 7. Checkout debian/buster branch
gbp tag --debian-branch=debian/buster 8. Update the branch to the latest version from cds.
``` 9. For the following gbp commands, make sure the git repo is clean with no changes and no untracked files.
14. Push back to gitlab. 10. Import from the master branch with
15. Switch to `debian/bullseye` branch ```
16. Cherry-pick any changes to the debian directory of debian/buster into debian/bullseye. gbp import-ref master -u <version> --upstream-tag='%(version)s' --debian-branch=debian/buster
17. Make any other needed packing changes (but consider making them in debian/buster first). ```
18. Import from the master branch with Replace `<version>` with the version number. Leave '~' characters as they are (don't change to underscore). Don't change the `%(version)s` part of the command. This is a tag template.
```
gbp import-ref master -u <version> --upstream-tag='%(version)s' --debian-branch=debian/bullseye 11. Make any needed packaging changes
``` 12. Update the changelog with:
19. Update the changelog with ```
``` gbp dch -Rc -N <version>-1+deb10 -D stable --debian-branch debian/buster
gbp dch -Rc -N <version>-1+deb11 -D stable --debian-branch debian/bullseye ```
``` - If this command locks up, try `--spawn-editor=never`
20. Tag the debian branch with - The `*-1+*` is the packaging revision, if you are re-releasing with just packaging changes, you can increase the packaging version here.
``` - You can remove the `-c` from the arguments if you don't want the command to automatically commit the change log. This is useful, when the editor is not spawning correctly.
gbp tag --debian-branch=debian/bullseye
``` 13. Tag the debian branch with
21. Push tags back to gitlab. ```
22. (optional) go start build in jenkins: Debian10/advLigoRTS, Debian11/advLigoRTS gbp tag --debian-branch=debian/buster
23. Look for version update in: https://apt.ligo-wa.caltech.edu/debian/buster_status.txt https://apt.ligo-wa.caltech.edu/debian/bullseye_status.txt ```
\ No newline at end of file 14. Push back to gitlab.
15. Switch to `debian/bullseye` branch
16. Cherry-pick any changes to the debian directory of debian/buster into debian/bullseye.
17. Make any other needed packing changes (but consider making them in debian/buster first).
18. Import from the master branch with
```
gbp import-ref master -u <version> --upstream-tag='%(version)s' --debian-branch=debian/bullseye
```
19. Update the changelog with
```
gbp dch -Rc -N <version>-1+deb11 -D stable --debian-branch debian/bullseye
```
20. Tag the debian branch with
```
gbp tag --debian-branch=debian/bullseye
```
21. Push tags back to gitlab.
# (optional) start the build
1. (optional) go start build in jenkins: Debian10/advLigoRTS, Debian11/advLigoRTS
2. Look for version update in: https://apt.ligo-wa.caltech.edu/debian/buster_status.txt https://apt.ligo-wa.caltech.edu/debian/bullseye_status.txt
\ No newline at end of file