Skip to content

tests: fix snapm.yml workflow syntax#997

Merged
bmr-cymru merged 1 commit into
mainfrom
bmr-fix-snapm-workflow
May 12, 2026
Merged

tests: fix snapm.yml workflow syntax#997
bmr-cymru merged 1 commit into
mainfrom
bmr-fix-snapm-workflow

Conversation

@bmr-cymru

@bmr-cymru bmr-cymru commented May 11, 2026

Copy link
Copy Markdown
Contributor

Resolves: #996

Summary by CodeRabbit

  • Chores
    • Added an automated CI workflow to run Python linting, style checks and installation steps on pushes and pull requests to main.
  • Tests
    • Integrated extensive virtualisation test matrix across firmware, storage and base OS variants, with log collection and artefact upload on failures.

Review Change Stack

@bmr-cymru bmr-cymru self-assigned this May 11, 2026
@bmr-cymru bmr-cymru added Bug Something isn't working Testing Test related CI Problems with CI infrastructure (rather than tests themselves). labels May 11, 2026
@coderabbitai

coderabbitai Bot commented May 11, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@bmr-cymru has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 8 minutes and 9 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7d9515f9-c237-4c99-8363-f2afba65104e

📥 Commits

Reviewing files that changed from the base of the PR and between 2063c11 and e247b1c.

📒 Files selected for processing (1)
  • .github/workflows/snapm.yml

Walkthrough

Adds a GitHub Actions workflow snapm.yml with two jobs: python-basic-tests (system/python deps, linting, builds, pytest with coverage) and virt_tests (multi-dimensional libvirt/QEMU matrix with provisioning and diagnostic collection on failure).

Changes

Snapshot Manager CI Workflow

Layer / File(s) Summary
Python Testing and Lint Checks
.github/workflows/snapm.yml (lines 1–133)
Installs Ubuntu/system and Python packages, configures boom-boot and systemd tmpfiles, builds/installs boom-boot, stratisd, and stratis-cli, runs lint checks (pycodestyle, flake8, pylint) and executes pytest with coverage for ./snapm/*.
Virtualization Testing Matrix and Diagnostics
.github/workflows/snapm.yml (lines 134–237)
Adds a matrix over firmware (bios,uefi), storage (lvm,lvm-thin), and base OS (fedora42, fedora43, centos-stream9, centos-stream10); installs/configures libvirt/qemu/osinfo, handles Fedora osinfo provisioning and BIOS firmware mapping, runs virt_tests with repo/ref context, and archives/uploads libvirt logs on failure.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 A CI seed upon the green,
Lint and tests in careful scene,
Virtual machines in matrix swing,
Logs and coverage home they bring.
Snapshots hum — the rabbit grins.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: fixing workflow syntax in snapm.yml, which is the primary objective.
Linked Issues check ✅ Passed The pull request addresses the core requirement of issue #996: restoring correct YAML syntax (--- instead of --) in snapm.yml so the workflow runs correctly.
Out of Scope Changes check ✅ Passed The pull request contains only the necessary changes to fix the workflow syntax issue identified in #996; no unrelated modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bmr-fix-snapm-workflow

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@packit-as-a-service

Copy link
Copy Markdown

Congratulations! One of the builds has completed. 🍾

You can install the built RPMs by following these steps:

  • sudo dnf install -y 'dnf*-command(copr)'
  • dnf copr enable packit/snapshotmanager-snapm-997
  • And now you can install the packages.

Please note that the RPMs should be used only in a testing environment.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/snapm.yml (1)

18-18: ⚡ Quick win

Pin GitHub Actions to immutable commit SHAs.

Using floating refs (@v4, @master) makes CI non-deterministic and weakens supply-chain security. Prefer full-length commit SHAs for all uses: entries.

Lines 18, 108, 147, and 233 contain floating refs that should be replaced with commit SHAs:

Examples to update
-        uses: actions/checkout@v4
+        uses: actions/checkout@<40-char-commit-sha> # pin release commit for v4

-      - uses: dtolnay/rust-toolchain@master
+      - uses: dtolnay/rust-toolchain@<40-char-commit-sha>

-      - uses: actions/checkout@v4
+      - uses: actions/checkout@<40-char-commit-sha> # pin release commit for v4

-        uses: actions/upload-artifact@v4
+        uses: actions/upload-artifact@<40-char-commit-sha> # pin release commit for v4
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/snapm.yml at line 18, The workflow uses floating refs for
actions (e.g., the step with "uses: actions/checkout@v4" and the other "uses:"
entries flagged on lines 108, 147, 233); replace each floating ref (like "@v4",
"@master" etc.) with the corresponding full commit SHA for the action repository
to pin the dependency, updating every "uses:" entry in the file to use the
immutable commit SHA rather than a tag or branch to ensure deterministic CI and
supply-chain security.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/snapm.yml:
- Line 18: The workflow uses floating refs for actions (e.g., the step with
"uses: actions/checkout@v4" and the other "uses:" entries flagged on lines 108,
147, 233); replace each floating ref (like "@v4", "@master" etc.) with the
corresponding full commit SHA for the action repository to pin the dependency,
updating every "uses:" entry in the file to use the immutable commit SHA rather
than a tag or branch to ensure deterministic CI and supply-chain security.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f2a8cf79-9e35-478d-9c5e-dcb460148217

📥 Commits

Reviewing files that changed from the base of the PR and between 50e9872 and fa2d70a.

📒 Files selected for processing (1)
  • .github/workflows/snapm.yml

@bmr-cymru bmr-cymru force-pushed the bmr-fix-snapm-workflow branch from fa2d70a to 2063c11 Compare May 12, 2026 13:08
Resolves: #996

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
@bmr-cymru bmr-cymru force-pushed the bmr-fix-snapm-workflow branch from 2063c11 to e247b1c Compare May 12, 2026 14:00
@bmr-cymru bmr-cymru merged commit e247b1c into main May 12, 2026
32 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug Something isn't working CI Problems with CI infrastructure (rather than tests themselves). Testing Test related

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

tests: snapm workflow broken since stratisd version bump

1 participant