Skip to content

CI: restore the CI_DESIRED_RUNTIME check - #29370

Closed
Somay-kousis wants to merge 1 commit into
podman-container-tools:mainfrom
Somay-kousis:ci-restore-desired-runtime
Closed

CI: restore the CI_DESIRED_RUNTIME check#29370
Somay-kousis wants to merge 1 commit into
podman-container-tools:mainfrom
Somay-kousis:ci-restore-desired-runtime

Conversation

@Somay-kousis

Copy link
Copy Markdown

CI_DESIRED_RUNTIME was only set in .cirrus.yml, and that file went away with
3743b9f ("Goodbye Cirrus"). The tests that read it are still there though,
so right now both of these just skip on every run:

  • test/e2e/info_test.go, "Podman info: check desired runtime"
  • test/system/005-info.bats, "podman info - confirm desired runtime"

When the var is empty they check CIRRUS_CI as a fallback, and that's obviously
never set under GHA, so they always hit the skip and the die()/Fail() under it
is unreachable. So the check from #14912 hasn't actually run since we moved off
Cirrus.

You can see it with:

git show 3743b9f806^:.cirrus.yml | grep CI_DESIRED
grep -rn CI_DESIRED_RUNTIME --include=*.yml .

So I set the variable in runner.sh and switched both tests to check
GITHUB_ACTIONS instead.

Couple of things I'm not sure about:

I ended up touching ci.sh too. limactl shell doesn't pass the host env into the
VM, so GITHUB_ACTIONS never reaches the tests and they'd have kept skipping
anyway. Passing it in explicitly was the simplest thing I could come up with,
happy to change it if you'd do it some other way. Both vars are in
PRESERVE_ENVS for the same reason, otherwise sudo drops them in the rootful
jobs.

I also hardcoded crun instead of deriving it from OCI_RUNTIME. I did derive it
at first, then realised OCI_RUNTIME is what picks the runtime in the first
place, so the test would just be comparing the value against itself and could
never fail. .cirrus.yml hardcoded it too so I'm guessing that was the point.

Left CI_DESIRED_STORAGE alone even though it's broken the same way. .cirrus.yml
set it to composefs on rawhide but STORAGE_FS there is overlay, and I couldn't
work out which one .Store.GraphDriverName is supposed to match. Can do it as a
follow up, or in here if you tell me which is right.

make validatepr passes. The real test is CI though, the desired runtime tests
should actually run now instead of skipping.

CI_DESIRED_RUNTIME used to be set in .cirrus.yml. That file is gone now
but the two tests that read it are still around, so both of them just
skip every time they run:

  test/e2e/info_test.go       "Podman info: check desired runtime"
  test/system/005-info.bats   "podman info - confirm desired runtime"

When the variable is empty they fall back to checking CIRRUS_CI, and that
is never set under GHA either, so the skip branch always wins and the
die()/Fail() guards below it are dead. The check we added for podman-container-tools#14912
hasn't actually run since we moved off Cirrus.

Set it in hack/ci/runner.sh and look at GITHUB_ACTIONS instead. limactl
shell doesn't pass the host environment into the VM so ci.sh has to hand
it over, and both variables need to go in PRESERVE_ENVS or sudo drops
them in the rootful jobs.

I left CI_DESIRED_STORAGE alone even though it broke the same way.
.cirrus.yml set it to "composefs" on rawhide while STORAGE_FS there is
"overlay", and I wasn't sure which one .Store.GraphDriverName is meant
to match.

Fixes: 3743b9f ("Goodbye Cirrus")
Signed-off-by: Somay-kousis <somaykousis@gmail.com>
@github-actions github-actions Bot added the CI label Aug 1, 2026
@Somay-kousis

Copy link
Copy Markdown
Author

Closing, I found #29301 after opening this. Same files and it's further along. I also had this keyed off GITHUB_ACTIONS, which @Luap99 already pointed out over there is a poor marker since anyone running the tests in their own fork gets it set. PODMAN_CI in runner.sh is the better one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant