Skip to content

Swap cgroupsv1 testing from GitHub Actions runner to Vagrant VM #368

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

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

austinvazquez
Copy link
Member

@austinvazquez austinvazquez commented May 24, 2025

This pull request includes CI updates for cgroup v1 testing by swapping from Ubuntu 20 GitHub Actions runners to AlmaLinux/8 Vagrant VMs. This is needed because the cgroup v1 GitHub Actions runners went end-of-life in April 2025.

This pull request also includes several minor CI updates:

  1. Update GitHub Actions runners from Ubuntu 22.04 to Ubuntu 24.04
  2. Add Go 1.24 to CI matrix
  3. Update golangci-lint to v2 (and addressed findings) Closes build(deps): bump golangci/golangci-lint-action from 6 to 8 #366

@austinvazquez austinvazquez force-pushed the add-cgroups-v1-testing branch 10 times, most recently from 77d76e2 to 87401c2 Compare May 24, 2025 17:41
@austinvazquez austinvazquez requested a review from Copilot May 24, 2025 18:06
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the testing environment for cgroups by swapping out cgroupsv1 tests from the GitHub Actions runner to a Vagrant VM setup while also updating related tooling and CI configurations.

  • Adds a new Vagrant-based provisioning script (resize-vagrant-root.sh) for adjusting the VM filesystem.
  • Refactors key parsing in rdma utils for both cgroup1 and cgroup2 using switch-case.
  • Updates CI workflows, Go versions, and associated configurations to support Ubuntu 24.04 and the new testing infrastructure.

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
script/resize-vagrant-root.sh New script for resizing VM root partition with updated filesystem logic.
cgroup2/utils.go Refactored rdma key parsing with a switch-case statement.
cgroup1/rdma.go Similar refactoring to use switch-case in parsing rdma kv.
cgroup1/memory_test.go Minor formatting adjustments in test variable declarations and conditions.
Vagrantfile New Vagrant configuration for provisioning and testing within a VM.
.golangci.yml Minimal update to disable errcheck in linting configuration.
.github/workflows/ci.yml Updated CI workflow with new OS version, Go version updates and Vagrant-based test jobs.

This change swaps the cgroupsv1 testing from GitHub Actions Ubuntu 20
runner which went end-of-life in April 2025 to testing in a Vagrant
virtual machine.

Signed-off-by: Austin Vazquez <austin.vazquez.dev@gmail.com>
Signed-off-by: Austin Vazquez <austin.vazquez.dev@gmail.com>
Signed-off-by: Austin Vazquez <austin.vazquez.dev@gmail.com>
Signed-off-by: Austin Vazquez <austin.vazquez.dev@gmail.com>
This change bumps golangci/golangci-lint-action from v6 to v8 and
golangci-lint from v1.62.0 to v2.1.6.

Signed-off-by: Austin Vazquez <austin.vazquez.dev@gmail.com>
@austinvazquez austinvazquez force-pushed the add-cgroups-v1-testing branch from 80f5047 to dad0c77 Compare May 24, 2025 18:09
@austinvazquez austinvazquez marked this pull request as ready for review May 24, 2025 18:17
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the CI setup to swap cgroup v1 testing from GitHub Actions runners to AlmaLinux/8 Vagrant VMs and makes several ancillary CI improvements. Key changes include:

  • Adding a new Vagrant provisioning script (resize-vagrant-root.sh) for VM disk resizing.
  • Converting conditional logic in RDMA parsing from if/else to switch-case in both cgroup1 and cgroup2.
  • Updating GitHub Actions workflows to run on Ubuntu 24.04, adding Go 1.24 to the CI matrix, and upgrading golangci-lint.

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
script/resize-vagrant-root.sh New script for resizing the Vagrant VM root partition during provisioning.
cgroup2/utils.go Switch-case refactor for parsing RDMA key-value pairs.
cgroup1/rdma.go Same refactor as cgroup2 to improve clarity in RDMA key handling.
cgroup1/memory_test.go Minor code style updates in boolean declarations and test conditions.
Vagrantfile New Vagrant configuration for AlmaLinux/8, including multiple provisioning steps.
.golangci.yml New configuration file for golangci-lint with enabled linter settings.
.github/workflows/ci.yml CI workflow updates including OS version upgrade, Go version matrix changes, and vagrant-based test jobs.

(growpart -h > /dev/null) || dnf -y install cloud-utils-growpart

df_line=$(df -T / | grep '^/dev/')
if [[ "$df_line" =~ ^/dev/([a-z]+)([0-9]+) ]]; then
Copy link
Preview

Copilot AI May 24, 2025

Choose a reason for hiding this comment

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

The regex used to parse the device name may not match commonly used device names like /dev/nvme0n1p1 that include numbers in the device portion. Consider updating the regex to something like ^/dev/([a-z0-9]+)([0-9]+)$ to better support a broader range of device names.

Suggested change
if [[ "$df_line" =~ ^/dev/([a-z]+)([0-9]+) ]]; then
if [[ "$df_line" =~ ^/dev/([a-z0-9]+)([0-9]+) ]]; then

Copilot uses AI. Check for mistakes.

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.

1 participant