Skip to content

AlmaLinux OSΒ #110

Open
Open

Description

@andrewlukoshko

Please describe the project
AlmaLinux OS is a free, open-source, community-owned and governed enterprise Linux distribution, binary-compatible with Red Hat Enterprise Linux (RHEL). Founded in 2021 as a 1:1 replacement for CentOS Linux after its discontinuation, it is now stewarded by the non-profit AlmaLinux OS Foundation and governed by a community-elected board. AlmaLinux OS is focused on long-term stability and providing a robust, production-grade platform, and it ships official builds for x86_64, aarch64, ppc64le, and s390x β€” meaning Power and IBM Z are first-class supported architectures that we have a standing commitment to deliver builds and validated images for.

URL for the project
https://almalinux.org/

Describe current CI/CD setup
https://github.com/AlmaLinux/cloud-images
https://github.com/AlmaLinux/compose-tests

Both repositories use GitHub Actions as their CI/CD system.

  • cloud-images: GitHub Actions workflows under .github/workflows/ already cover the x86_64 and aarch64 Packer builds for cloud and Vagrant images, plus publishing workflows for the Oracle Cloud Marketplace and Vagrant Cloud / HCP. There is no CI on ppc64le or s390x today β€” those Generic Cloud images are still produced outside Actions on manually-managed hardware and then uploaded to the release / mirror locations.
  • compose-tests: GitHub Actions runs the tmt-based test plans on the architectures currently available to GitHub-hosted runners. There is no ppc64le or s390x coverage, which is the gap we want to close.

Describe the primary use case for the Github Action Runner
Two use cases on Power 9 (ppc64le) and IBM Z / LinuxONE (s390x):

  1. Build the AlmaLinux Generic Cloud (qcow2) image natively β€” only the Generic Cloud variant; we are not requesting CI for any other image type on these arches.
    • On ppc64le: Packer + QEMU/KVM-HV, as documented in the cloud-images README under "How to build Generic Cloud images on ppc64le".
    • On s390x: oz-install against the almalinux_*_gencloud_s390x.xml.tmpl templates and the http/almalinux-*.gencloud-s390x.ks kickstarts, then a qemu-img convert pass to compress and upgrade the qcow2 to v3.
  2. Run the tmt-based compose-tests suite on freshly produced ppc64le and s390x images so per-arch regressions are caught on every compose.
    The runners need KVM/virtualization (kvm_hv on Power, KVM on Z) since both Packer/QEMU and oz-install provision a guest VM during the build/test.

Paste a link to the existing actions workflow file(s) or directory

How often do you plan on executing the runner?

  • cloud-images: bi-weekly, scheduled, one Generic Cloud build per arch per supported AlmaLinux major version (8, 9, 10, Kitten 10). Plus on-demand runs for point releases / minor version bumps and on PRs that touch the *_s390x.xml.tmpl, *ppc64le* Packer files, the s390x kickstarts under http/, or the relevant ansible/ roles.
  • compose-tests: daily, against the latest AlmaLinux updates, plus on-PR runs for changes under tests/ and plans/.

What is the primary programming language for the project?

  • cloud-images: HCL (Packer, ~70%), Shell, Python, Jinja (Ansible).
  • compose-tests: Shell + tmt/FMF metadata (YAML), with some Python helpers.

Please select desired hardware

  • Power 9 (ppc64le)
  • IBM Z / LinuxONE (s390x)

Account names of the GitHub repo admins that will need access to setting up the runner
andrewlukoshko

Activity

  1. pleia2 commented on May 7, 2026

    @pleia2
    Member

    Hi @andrewlukoshko ! As a starting point, the current infrastructure as of our 1.3 release is container-based (no KVM) and there are limitations as to what can be run within them due to security. It is in our roadmap to support KVM on both architectures, but I don't have an exact timeline for that right now.

    Is there a way to do either of these without KVM temporarily? Or a subset of these tests/builds? We can also work with you to run through some test scenarios see what's possible.

  2. andrewlukoshko commented on May 8, 2026

    @andrewlukoshko
    Author

    @pleia2 yes we can run subset of https://github.com/AlmaLinux/compose-tests in containers too.

  3. pleia2 commented on May 29, 2026

    @pleia2
    Member

    Thanks! Focusing on compose-tests as a start, you mentioned:

    compose-tests: daily, against the latest AlmaLinux updates, plus on-PR runs for changes under tests/ and plans/.

    Just to make sure I'm reading this correctly and comparing to the x86 runs, is this an accurate view into frequency and timing of the tests? https://github.com/AlmaLinux/compose-tests/actions/workflows/almalinux-compose-test-x86_64.yml (1-4 times a day, ~40 min per test)

  4. andrewlukoshko commented on Jun 2, 2026

    @andrewlukoshko
    Author

    @pleia2 I think it won't be 40 minutes because many tests are skipped in a container environment, so I'd say 20-30 min per run. Also we won't run every day because we only test when updates are going to be released, so "daily" is an average estimate. Some days we'll have 3 runs, some days 0.

  5. pleia2 commented on Jun 3, 2026

    @pleia2
    Member

    Great, let's ahead and move forward with on-boarding AlmaLinux specifically for these tests.

    Please install the GitHub App from the following link and select your repository:
    πŸ”— Power Z GHA Runner App

    For more details on the on-boarding process, please refer to our documentation:
    πŸ“„ Onboarding Guide

    Please let me know in this issue once you have installed the github app on your repos. For security reasons, I will double check it is the correct repos and then approve the repos to use our images. You will not be able to use our images until I approve the repos.

    After the repos have been approved, you will be able to use the ubuntu-24.04-ppc64le and ubuntu-24.04-s390x images in your workflow file. The on-boarding doc linked above will be helpful.

    Please note: forks will not be able to use this service since those repos will not be in our allow list.

  6. andrewlukoshko commented on Jun 23, 2026

    @andrewlukoshko
    Author

    @pleia2 I've installed the app to the following repos:
    https://github.com/AlmaLinux/cloud-images
    https://github.com/AlmaLinux/compose-tests

    Please approve

  7. mtarsel commented on Jun 23, 2026

    @mtarsel
    Contributor

    both repos have been approved so you can now use our images in your workflow file. I'll keep this issue open if there is any more questions

  8. added
    approvedProject approved, on-boarded tag will be added when app is installed
    and removed on Jun 23, 2026
  9. added
    on-boardedProject has been approved in the database and they may use our images in their workflow files
    on Aug 25, 2026
  10. andrewlukoshko commented on Oct 29, 2026

    @andrewlukoshko
    Author

    @mtarsel @pleia2 Currently I'm see the following in GitHub Apps. Could you please assist?

    UPD. Fixed by reinstalling the app.

    Image
  11. mtarsel commented on Nov 2, 2026

    @mtarsel
    Contributor

    Apologies - but I no longer work at IBM and am not working on this project anymore. I cannot remove myself from the Assignee list so I will defer to @pleia2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

approvedProject approved, on-boarded tag will be added when app is installedon-boardedProject has been approved in the database and they may use our images in their workflow filesp9z

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions