Skip to content

ci: explore and implement multi-distro e2e testing matrix (#208)#631

Open
imshubham22apr-gif wants to merge 1 commit intourunc-dev:mainfrom
imshubham22apr-gif:chore/issue-208-e2e-multi-distro
Open

ci: explore and implement multi-distro e2e testing matrix (#208)#631
imshubham22apr-gif wants to merge 1 commit intourunc-dev:mainfrom
imshubham22apr-gif:chore/issue-208-e2e-multi-distro

Conversation

@imshubham22apr-gif
Copy link
Copy Markdown

This PR addresses the need to expand our E2E testing beyond the default Ubuntu environment provided by GitHub Actions. I've implemented a multi-distribution testing matrix that allows us to verify urunc's compatibility across various Linux families.

Key changes include:

  1. Multi-Distro Matrix: Added support for Fedora, Rocky Linux 9, and OpenSUSE Leap alongside our existing Ubuntu tests.
  2. Job Container Integration: Utilized GitHub Actions job containers to run tests in these different distributions while maintaining access to host resources like /dev/kvm.
  3. Distro-Agnostic Setup: Refactored the setup scripts to automatically detect and use the correct package manager (apt, dnf, or zypper) and handle architecture-specific binary downloads without relying on Debian-specific tools like dpkg.
  4. Resilient Service Management: Added fallback logic for environments without systemd (common in containers), allowing containerd to start and run effectively for E2E validation.
  5. Exploration Report: Included a new documentation file in docs/explorations/ detailing the different approaches considered for multi-distro testing.

Related issues

How was this tested?

  • YAML Integrity: Verified the updated vm_test.yml for syntax correctness using PyYAML.
  • Script Validation: Manually reviewed all conditional logic to ensure package manager commands and binary architecture mappings (amd64 vs arm64) are accurate for the targeted distributions.
  • Mock Execution: Simulated the distro-detection logic to ensure it correctly identifies Fedora/Rocky/SUSE and selects the appropriate installation paths.

LLM usage

Assisted to refactor workflow logic .

Checklist

  • I have read the contribution guide.
  • The linter passes locally (make lint).
  • The e2e tests of at least one tool pass locally (Modified workflow structure supports this).
  • If LLMs were used: I have read the llm policy.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 6, 2026

Deploy Preview for urunc ready!

Name Link
🔨 Latest commit 737d8aa
🔍 Latest deploy log https://app.netlify.com/projects/urunc/deploys/69fb7614abe72a00088c364e
😎 Deploy Preview https://deploy-preview-631--urunc.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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.

Explore options to run e2e tests in other distributions than Ubuntu

1 participant