-
-
Notifications
You must be signed in to change notification settings - Fork 136
Preparing a new release based on a new Ubuntu codename
David Hewitt edited this page May 25, 2023
·
21 revisions
To rebase elementary OS on a new Ubuntu release, use the following process:
We will use a switch from Ubuntu jammy to Ubuntu lunar as an example.
- Clone https://github.com/elementary/metapackages
- Create a new branch for the new Ubuntu release (e.g.
lunar) from the previous Ubuntu release branch (e.g.jammy) - In the new branch, in
update.cfgreplace instances of previous Ubuntu release with the new one. - Commit and push new branch to repo
- Create a new branch for the new Ubuntu release (e.g.
- Clone https://github.com/elementary/seeds
- Create a new branch for the new Ubuntu release (e.g.
lunar) from the previous Ubuntu release branch (e.g.jammy) - In the new branch, in
.github/workflows/update.ymlreplace instances of previous Ubuntu release with the new one. - Update the instances of the previous Ubuntu release with the new one in
STRUCTURE - Commit and push new branch to repo
- Create a new branch for the new Ubuntu release (e.g.
- Clone https://github.com/elementary/platform
- Create a new branch for the new Ubuntu release (e.g
lunar) from the previous Ubuntu release branch (e.gjammy) - In the new branch, in
.github/workflows/update.ymlreplace instances of previous Ubuntu release with the new one. - Commit and push new branch to repo
- Create a new branch for the new Ubuntu release (e.g
- Wait for the GitHub actions runs to complete on both repositories.
- The new branch of https://github.com/elementary/metapackages should be committed to by the GitHub actions.
- Take note of any removed packages from these commits. This forms the list of packages that need to be built in Launchpad for the new codename. (e.g. https://github.com/elementary/metapackages/commit/bc133fb5d22a36574a00ec9d999e6ae7afc5e135)
- Force an import of the metapackages repository on Launchpad: https://code.launchpad.net/~elementary-os/elementaryos/+git/metapackages
- Create a new recipe from this repository pointing to the new codename branch, this should be named like
seed-metapackages-lunar-daily - Enable the new codename for the
overlaypackage and request a build: https://code.launchpad.net/~elementary-os/+recipe/os-patches-enabler - Enable the new codename for the
iconspackage and request a build: https://code.launchpad.net/~elementary-os/+recipe/icons-daily - Wait for the builds to complete and publish! 🍵
- Once the Launchpad builds above are completed, clone https://github.com/elementary/docker
- Copy the previous unstable (
horus-unstable) folder to a new codename (e.g.ubuntu-lunar-unstable) - Modify the Dockerfile in the new folder, replacing the old codename with new
jammy->lunar - Do a test build of the Docker image with:
docker build .
- If there are no failures, add the new folder name to the lists in
.github/workflows/ci.ymland.github/workflows/test.yml - Optionally symlink
development-targetto the new folder if you want every repository to be tested against this new docker image. - Push the changes to the repository
See the wiki sidebar (below on mobile) for other sections, sub-pages, etc.