-
Notifications
You must be signed in to change notification settings - Fork 181
Releasing Uyuni versions
- Python3
- An OBS account able to create projects at https://build.opensuse.org/project/show/systemsmanagement:Uyuni and submit packages to https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Stable
- The account configured at
~/.osrc
Some days before the release:
- Warn everyone about the upcoming release (email to uyuni-devel mailing list, topic at IRC)
- Ask Doc team to submit the susemanager-docs_en package
At the day you start the update:
-
Get a green cucumber testsuite.
-
Lock master branch at https://github.com/uyuni-project/uyuni/settings/branch_protection_rules/2243617 (add yourself to Restrict who can push to matching branches)
-
Increase version number in
web/conf/rhn_web.conf
(x.y.z+1) -
Check if the schema directory exists with the correct versions (first
check schema/spacewalk/susemanager-schema.spec
and take note of the version in format X.Y.Z, then see if there is a directoryschema/spacewalk/upgrade/susemanager-schema-X.Y.Z-to-susemanager-schema-X.Y.Z+1
with contents). E.g.: if current version for package is 4.0.10, then there should be a foldersusemanager-schema-4.0.10-to-susemanager-schema-4.0.11
If not:- Create a new directory for the database migration scripts in
schema/spacewalk/upgrade
- Create an empty file called
.gitkeep
in it (otherwise the empty directory couldn't be added to git) - Add the directory to git, commit, push back to the remote of current branch
- Create a new directory for the database migration scripts in
-
Now you can start listing which packages need tagging:
tito report --untagged-commits
See the home directory for every package:
cat rel-eng/packages
And for every package:
-
Tag it:
tito tag
The entries for the changelog should be there, including. all bugs, CVE and Fate numbers. Notice an empty point is automatically created and you must remove it if you won't use it.
-
Follow the tito instructions: push tags to remote
-
-
Create a tag 'Uyuni-X.Y.Z' being 'X.Y.Z' the version you configured at
web/conf/rhn_web.conf
-
Reconfigure https://ci.suse.de/view/Manager/view/Manager-Head/job/manager-Head-2obs/ to use the new tag.
-
Unlock the branch
-
Go to https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master and https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master:Other and the client packages until everything is built.
-
Promote the packages with the help of
release-uyuni
script. For example if you want a new version 4.0.1 for openSUSE Leap 42.3 run:NOTE: I need to adapt the script, for now the releasing needs to be done manually. I will document it soon if I am not able to fix the script quickly.
./release-uyuni -u 4.0.1 -l 42.3
Wait until the script is complete, and check there are no errors.
-
This will release the packages to
systemsmanagement:Uyuni:Stable
andsystemsmanagement:Uyuni:Snapshots:4.0.1
(notice the version will depend on the previous call torelease-uyuni
. Have a look at both projects to check that everything is fine. -
Promote client tools sets:
osc release systemsmanagement:Uyuni:Master:openSUSE_Leap_15-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:SLE12-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:SLE15-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:CentOS6-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:CentOS7-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:CentOS8-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Ubuntu1604-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Ubuntu1804-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Ubuntu2004-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Debian9-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Debian10-Uyuni-Client-Tools
-
Reconfigure https://ci.suse.de/view/Manager/view/Manager-Head/job/manager-Head-2obs/ to use
master
branch again. -
Announce the new release at twitter, IRC channel and uyuni-announce and uyuni-devel mailing lists.