Updating cross-compilers
Problem
RHEL 8 cross compilers from EPEL are too new to build the RHEL 8 kernels.
The tools team
created their own packages and we’re using them for building
the appropriate builder-rhelXX
and builder-streamXX
images.
Right now, the packages are stored in the CKI S3 bucket (via lookaside), so the container image templates can download them.
The problem is that checking for updates in the cross-compiler tools, packaging them, testing them and, then, updating the RPMs in the S3 bucket is a manual process.
The tools team
, actually, Nick Clifton, has automated the first part
(detecting updates and building the new packages), but we need to test them and
change the RPMs at lookaside.
Steps
-
Every time the
tools team
detects updates, they’ll build the new packages in Brew and send an email to the CKI mailing list. The email will show the commands to download the updated packages. Something like this:Subject: New RHEL-8 gcc and glibc cross rpms available Body: Hi, Another day, another set of new rpms: New cross gcc rpms (8.4.1-1.el8) can be downloaded with: brew download-task 35331760 New cross glibc rpms (2.28-151.el8) can be downloaded with: brew download-task 35333362 Cheers Nick
-
Download the new package with the provided brew command (
brew download-task ${task-id}
). -
Create a merge request at lookaside, changing the old rpms for the new ones.
-
Create a merge request at the containers repository, changing the RPMs’ URLs for the updated packages, at the appropriate container template. Use the RPMs’ URLs from the new lookaside branch. Create a merge request to see if the images build fine.
-
If the images builds fine, trigger the CKI CI bot to run a pipeline for the right stream. The bot automatically uses the images from the MR.
@cki-ci-bot test [cki/rhel8]
-
If the pipeline runs fine, merge both merge requests, the one from
lookaside
and the one fromcontainers
.
In case it fails
In case the pipeline (or the image build) fails, contact Nick Clifton to see how to fix it.