Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jenkinsfile: add Rocky Linux and AlmaLinux #323

Merged
merged 2 commits into from
Sep 15, 2023

Conversation

AkihiroSuda
Copy link
Contributor

CentOS Stream 8 will reach its EOL within less than a year ahead of Rocky and Alma:

  • CentOS Stream 8: 2024-05-31
  • Rocky Linux 8: 2029-05-31
  • AlmaLinux 8: 2029

So RPMs for Rocky and Alma have to be built without depending on CentOS Stream.

Part of :

@crazy-max
Copy link
Member

Looks like the pipeline doesn't take into account the new entries in the Jenkinsfile: https://ci-next.docker.com/teams-core/blue/organizations/jenkins/containerd-packaging/detail/PR-323/3/pipeline (probably missing permissions on Jenkins)

Fyi, I made some tests to build containerd in docker/packaging repo:

@AkihiroSuda
Copy link
Contributor Author

AkihiroSuda commented Aug 5, 2023

Thanks, but I can't see the logs on Jenkins (missing "Read" permission)

アクセスできません

⛔ AkihiroSuda には、全体/Read パーミッションがありません。

@AkihiroSuda
Copy link
Contributor Author

@thaJeztah PTAL 🙏

Jenkinsfile Outdated
Comment on lines 13 to 16
[image: "docker.io/library/rockylinux:8.8", arches: ["amd64", "aarch64"]], // Rocky Linux 8 (EOL: 2029-05-31)
[image: "docker.io/library/rockylinux:9.2", arches: ["amd64", "aarch64"]], // Rocky Linux 9 (EOL: 2032-05-31)
[image: "docker.io/library/almalinux:8.8", arches: ["amd64", "aarch64"]], // AlmaLinux 8 (EOL: 2029)
[image: "docker.io/library/almalinux:9.2", arches: ["amd64", "aarch64"]], // AlmaLinux 9 (EOL: 2032)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions; perhaps you're able to answer (I didn't investigate yet);

  • Do rocky and alma support minor versions, or do they use a rolling release model as CentOS did (i.e. CentOS 7.2 becomes EOL once 7.3 is released).
  • Do rocky and/or alma also have $releasever (which can vary, and may have minor version, or may have (e.g.) 8Server etc)? Asking, because we've had a lot of issues with those (and we still haven't fully fixed that)

Copy link
Contributor Author

@AkihiroSuda AkihiroSuda Sep 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions; perhaps you're able to answer (I didn't investigate yet);

  • Do rocky and alma support minor versions, or do they use a rolling release model as CentOS did (i.e. CentOS 7.2 becomes EOL once 7.3 is released).

The latter one.

  • Do rocky and/or alma also have $releasever (which can vary, and may have minor version, or may have (e.g.) 8Server etc)? Asking, because we've had a lot of issues with those (and we still haven't fully fixed that)

Yes, the value is like 9, not like 9.2.

https://dl.rockylinux.org/pub/rocky/ have subdirs with minor vers, but they are almost useless:

The situation is same for Alma too https://repo.almalinux.org/almalinux/

Copy link
Contributor Author

@AkihiroSuda AkihiroSuda Sep 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dnf on rocky 9.1 accesses the rocky 9.2 repo:

$ docker run -it --rm rockylinux:9.1
[root@c19222d20aa4 /]# cat /etc/os-release 
NAME="Rocky Linux"
VERSION="9.1 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.1"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.1 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.1"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.1"

[root@c19222d20aa4 /]# cat /etc/yum.repos.d/rocky.repo 
...
[baseos]
name=Rocky Linux $releasever - BaseOS
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$release
ver$rltype
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
...

[root@c19222d20aa4 /]# dnf -v repolist --enabled
...
Repo-id            : baseos
Repo-name          : Rocky Linux 9 - BaseOS
Repo-revision      : 1694020832
Repo-updated       : Wed Sep  6 17:20:32 2023
Repo-pkgs          : 1156
Repo-available-pkgs: 1156
Repo-size          : 1.2 G
Repo-mirrors       : https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=BaseOS-9
Repo-baseurl       : http://ftp.riken.jp/Linux/rocky/9.2/BaseOS/x86_64/os/ (28 more)
Repo-expire        : 21600 second(s) (last: Fri Sep 15 13:57:49 2023)
Repo-filename      : /etc/yum.repos.d/rocky.repo
...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$releasever is expanded to 9:

$ docker run -it --rm rockylinux:9.1
[root@117abf8b612e /]# dnf install -q -y dnf-plugins-core
Importing GPG key 0x350D275D:
 Userid     : "Rocky Enterprise Software Foundation - Release key 2022 <[email protected]>"
 Fingerprint: 21CB 256A E16F C54C 6E65 2949 702D 426D 350D 275D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

Installed:
  dbus-libs-1:1.12.20-7.el9_2.1.x86_64           dnf-plugins-core-4.3.0-5.el9_2.noarch 
  python3-dateutil-1:2.8.1-6.el9.noarch          python3-dbus-1.2.18-2.el9.x86_64      
  python3-dnf-plugins-core-4.3.0-5.el9_2.noarch  python3-six-1.15.0-9.el9.noarch       
  python3-systemd-234-18.el9.x86_64             

[root@117abf8b612e /]# dnf config-manager --dump-variables
arch = x86_64
basearch = x86_64
rltype = 
stream = 9-stream
infra = container
sigcontentdir = pub/sig
contentdir = pub/rocky
releasever = 9

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, thanks! So, if I interpret that correctly, they also follow a rolling release model, so we should consider using 7, 8 (and no need to look at "minor" releases, as they effectively don't exist), correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, thanks! So, if I interpret that correctly, they also follow a rolling release model, so we should consider using 7, 8 (and no need to look at "minor" releases, as they effectively don't exist), correct?

Yes, updated PR.

@AkihiroSuda
Copy link
Contributor Author

Updated PR to remove minor ver

Jenkinsfile Outdated
Comment on lines 11 to 19
[image: "quay.io/centos/centos:stream8", arches: ["amd64", "aarch64"]], // EOL: 2024-05-31
[image: "quay.io/centos/centos:stream9", arches: ["amd64", "aarch64"]], // EOL: 2027
[image: "docker.io/library/rockylinux:8", arches: ["amd64", "aarch64"]], // Rocky Linux 8 (EOL: 2029-05-31)
[image: "docker.io/library/rockylinux:9", arches: ["amd64", "aarch64"]], // Rocky Linux 9 (EOL: 2032-05-31)
[image: "docker.io/library/almalinux:8", arches: ["amd64", "aarch64"]], // AlmaLinux 8 (EOL: 2029)
[image: "docker.io/library/almalinux:9", arches: ["amd64", "aarch64"]], // AlmaLinux 9 (EOL: 2032)
[image: "docker.io/library/debian:buster", arches: ["amd64", "aarch64", "armhf"]], // Debian 10 (EOL: 2024)
[image: "docker.io/library/debian:bullseye", arches: ["amd64", "aarch64", "armhf"]], // Debian 11 (stable)
[image: "docker.io/library/debian:bookworm", arches: ["amd64", "aarch64", "armhf"]], // Debian 12 (next stable)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙈 Is it ok to update the // comments to be aligned with the other ones?

Better to change it now than to do a follow up if that's ok with you 🤗

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Sorry for that ❤️

@thaJeztah
Copy link
Member

FWIW I'll probably have to carry this PR after it's "ok" to verify CI (because Jenkins doesn't pick up changes from people without write access)

@thaJeztah
Copy link
Member

Pushed as a separate PR, but it's the same commit, so we'd be able to merge the original (this) one if CI looks happy on the other PR #326

@thaJeztah
Copy link
Member

⚠️ for others arriving here; we haven't decided yet if we'll be adding these 4 new distros/versions to the list of packages on download.docker.com, but merging this PR allows CI on this repository to verify that builds work.

@thaJeztah
Copy link
Member

CI is happy on the other PR; 🎉

Screenshot 2023-09-15 at 17 15 55 Screenshot 2023-09-15 at 17 16 31

Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@thaJeztah thaJeztah merged commit 2d8a212 into docker:master Sep 15, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants