Skip to content

Build or update the test container images

Jordi Massaguer Pla edited this page Aug 4, 2025 · 4 revisions
  1. Create a fork of uyuni-project/uyuni if you do not already have one.

  2. If you alreayd have a fork, update your master branch.

  3. Create a Pull Request that updates the Uyuni version in https://github.com/uyuni-project/uyuni/blob/master/.github/workflows/build_containers.yml. The target of your PR should be the master branch of your fork .

  4. Merge your PR into the master branch of your fork .

  5. Go to https://github.com/YOUR_USERNAME/uyuni/actions/workflows/build_containers.yml

  6. Select "Run workflow"->"Branch: master" and click on "Run workflow".

  7. For the recommended tests to work you need the redis container in the github container registry of your fork. You do not need to build this every time. You can check if you have it with docker pull ghcr.io/USERNAME/uyuni/redis:master . In case you do not have it, you can get a copy of this container with:

docker pull ghcr.io/uyuni-project/uyuni/redis:master
docker tag ghcr.io/uyuni-project/uyuni/redis:master ghcr.io/YOUR_USERNAME/uyuni/redis:master
echo $GITHUB_TOKEN | docker login ghcr.io -u YOUR_USERNAME --password-stdin
docker push ghcr.io/YOUR_USERNAME/uyuni/redis:master

Note that GITHUB_TOKEN is Personal access tokens (classic) at https://github.com/settings/tokens.

Then, make sure the package visibility is public at https://github.com/users/YOUR_USERNAME/packages/container/uyuni%2Fredis/settings

  1. Once the image has finish building and was successful, create a PR that changes the UYUNI_PROJECT variable in .github/workflows/acceptance_tests_base.yml and .github/workflows/acceptance_tests_coordinator.yml, to use your fork. The target should be again the master branch of your fork.

  2. Once tests pass on your PR, it means the image is ready. You can close the above PR.

  3. Create a new PR, but this time the target should be the master branch of the upstream uyuni-project/uyuni project. That PR should update the version in https://github.com/uyuni-project/uyuni/blob/master/.github/workflows/build_containers.yml (what you already did with your first PR in your fork).

  4. Ask a Release Engineer to review and merge.

  5. Go to https://github.com/uyuni-project/uyuni/actions/workflows/build_containers.yml

  6. Select "Run workflow"->"Branch: master" and click on "Run workflow".

image

  1. Wait aprox 10 minutes and observe the build to green for all containers.

image

⚠️ Sometimes the build can fail on downloading some packages from the openSUSE mirror infrastructure. If this happens, there is no other solution than trying again later. It can take up to 24h to have the closest mirror in sync.

Have fun! 💃

Clone this wiki locally