From 027414ee5014c72f9acd6b666c8157969b6dd5ad Mon Sep 17 00:00:00 2001 From: Akhil Mohan Date: Mon, 13 May 2024 21:15:12 +0530 Subject: [PATCH 1/6] enable ubuntu 24 runners Signed-off-by: Akhil Mohan --- .github/workflows/ci.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b1e88fd22..aee14e36f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: - os: [ubuntu-22.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019] + os: [ubuntu-24.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019] exclude: - os: ${{ github.repository != 'containerd/containerd' && 'actuated-arm64-4cpu-16gb' }} @@ -42,7 +42,7 @@ jobs: # project: name: Project Checks - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 5 steps: @@ -70,7 +70,7 @@ jobs: # protos: name: Protobuf - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 5 defaults: @@ -104,7 +104,7 @@ jobs: man: name: Manpages - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 5 steps: @@ -118,7 +118,7 @@ jobs: crossbuild: name: Crossbuild Binaries needs: [project, linters, protos, man] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 strategy: fail-fast: false @@ -190,7 +190,7 @@ jobs: strategy: matrix: - os: [ubuntu-22.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019, windows-2022] + os: [ubuntu-22.04, ubuntu-24.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019, windows-2022] go-version: ["1.22.4"] exclude: - os: ${{ github.repository != 'containerd/containerd' && 'actuated-arm64-4cpu-16gb' }} @@ -385,7 +385,7 @@ jobs: runtime: - io.containerd.runc.v2 runc: [runc, crun] - os: [ubuntu-22.04, actuated-arm64-4cpu-16gb] + os: [ubuntu-22.04, ubuntu-24.04, actuated-arm64-4cpu-16gb] exclude: - os: ${{ github.repository != 'containerd/containerd' && 'actuated-arm64-4cpu-16gb' }} @@ -519,7 +519,7 @@ jobs: integration-vagrant: name: Vagrant integration - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 needs: [project, linters, protos, man] @@ -575,7 +575,7 @@ jobs: tests-cri-in-userns: name: "CRI-in-UserNS" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 40 needs: [project, linters, protos, man] From 624aa49d4b9b832ca6309182aab006e6097c15b1 Mon Sep 17 00:00:00 2001 From: Akhil Mohan Date: Mon, 3 Jun 2024 20:29:53 +0530 Subject: [PATCH 2/6] increase xfs base image size to 300Mb from xfsprogs 5.19.0, minimum size of xfs volume has to be 300MB Ref: https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/commit/?id=6e0ed3d19c54603f0f7d628ea04b550151d8a262 Signed-off-by: Akhil Mohan --- plugins/snapshots/devmapper/snapshotter_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/snapshots/devmapper/snapshotter_test.go b/plugins/snapshots/devmapper/snapshotter_test.go index fba424df2..d81bf1634 100644 --- a/plugins/snapshots/devmapper/snapshotter_test.go +++ b/plugins/snapshots/devmapper/snapshotter_test.go @@ -145,9 +145,10 @@ func TestMultipleXfsMounts(t *testing.T) { poolName := fmt.Sprintf("containerd-snapshotter-suite-pool-%d", time.Now().Nanosecond()) config := &Config{ - RootPath: t.TempDir(), - PoolName: poolName, - BaseImageSize: "16Mb", + RootPath: t.TempDir(), + PoolName: poolName, + // Size for xfs volume is kept at 300Mb because xfsprogs 5.19.0 (>=ubuntu 24.04) enforces a minimum volume size + BaseImageSize: "300Mb", FileSystemType: "xfs", } snapshotter, closer, err := createSnapshotter(ctx, t, config) From 769e0c8c163b191f0ef196dd7f3ae106e2b5eb49 Mon Sep 17 00:00:00 2001 From: Akhil Mohan Date: Wed, 12 Jun 2024 21:21:35 +0530 Subject: [PATCH 3/6] add debian sources for ubuntu-24 Signed-off-by: Akhil Mohan --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aee14e36f..025714cbd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -556,7 +556,7 @@ jobs: # So we have to install Vagrant >= 2.3.1 from the upstream: https://github.com/opencontainers/runc/blob/v1.1.8/.cirrus.yml#L41-L49 curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list - sudo sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list + sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources sudo apt-get update sudo apt-get install -y libvirt-daemon libvirt-daemon-system vagrant sudo systemctl enable --now libvirtd From 1bfdccee09c6e95f6e993ae6472405b2243de33a Mon Sep 17 00:00:00 2001 From: Akhil Mohan Date: Wed, 19 Jun 2024 01:43:28 +0530 Subject: [PATCH 4/6] use vagrant from jammy in noble Signed-off-by: Akhil Mohan --- .github/workflows/ci.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 025714cbd..a85f877b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -555,13 +555,21 @@ jobs: # Canonical's Vagrant 2.2.19 dpkg cannot download Fedora 38 image: https://bugs.launchpad.net/vagrant/+bug/2017828 # So we have to install Vagrant >= 2.3.1 from the upstream: https://github.com/opencontainers/runc/blob/v1.1.8/.cirrus.yml#L41-L49 curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg - echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list + echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com jammy main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources + # we use vagrant from jammy since the sources are not yet available in noble + sudo tee -a /etc/apt/sources.list.d/ubuntu.sources < Date: Wed, 19 Jun 2024 02:18:11 +0530 Subject: [PATCH 5/6] use older version of OVMF package use ovmf 2022.02-3ubuntu0.22.04.2 so that the OVMF_CODE.fd which vagrant looks for is still available Signed-off-by: Akhil Mohan --- .github/workflows/ci.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a85f877b5..ee84cf731 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -557,19 +557,29 @@ jobs: curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com jammy main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources - # we use vagrant from jammy since the sources are not yet available in noble + # we use vagrant from jammy since the sources are not yet available in noble for vagrant + # TODO: once vagrant package sources are available in ubuntu-24 this can be removed sudo tee -a /etc/apt/sources.list.d/ubuntu.sources < /dev/null + # jammy security needs to be added so that the compatible ovmf package can be fetched + sudo tee -a /etc/apt/sources.list.d/ubuntu.sources < Date: Thu, 20 Jun 2024 07:07:18 +0530 Subject: [PATCH 6/6] update release runners to ubuntu 24.04 update all runners except the binary building job to ubuntu-24.04 Signed-off-by: Akhil Mohan --- .github/workflows/api-release.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/api-release.yml b/.github/workflows/api-release.yml index 7b2814de9..fbc3e5efd 100644 --- a/.github/workflows/api-release.yml +++ b/.github/workflows/api-release.yml @@ -15,7 +15,7 @@ jobs: check: name: Check Signed Tag if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/api/v') - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 5 outputs: stringver: ${{ steps.contentrel.outputs.stringver }} @@ -60,7 +60,7 @@ jobs: if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/api/v') permissions: contents: write - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 needs: [check] steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c3a1b1081..d9d203a00 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: check: name: Check Signed Tag if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 5 outputs: stringver: ${{ steps.contentrel.outputs.stringver }} @@ -137,7 +137,7 @@ jobs: if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') permissions: contents: write - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 needs: [build, check] steps: