Skip to content

[WIP] [DO NOT REVIEW] ci: replace Cirrus CI with GitHub Actions#819

Open
giuseppe wants to merge 2 commits into
containers:mainfrom
giuseppe:move-to-gh-actions
Open

[WIP] [DO NOT REVIEW] ci: replace Cirrus CI with GitHub Actions#819
giuseppe wants to merge 2 commits into
containers:mainfrom
giuseppe:move-to-gh-actions

Conversation

@giuseppe
Copy link
Copy Markdown
Member

@giuseppe giuseppe commented May 5, 2026

Migrate all CI tasks from Cirrus CI (.cirrus.yml) to a new GitHub Actions workflow (.github/workflows/ci.yml). All tests run with the same conditions.

@github-actions github-actions Bot added storage Related to "storage" package image Related to "image" package labels May 5, 2026
@giuseppe giuseppe force-pushed the move-to-gh-actions branch 9 times, most recently from 1b181f5 to 2fa7b92 Compare May 5, 2026 09:29
@mtrmac
Copy link
Copy Markdown
Contributor

mtrmac commented May 5, 2026

Cc: / FYI @timcoding1988

@giuseppe giuseppe force-pushed the move-to-gh-actions branch 6 times, most recently from a92f4c2 to 032b919 Compare May 5, 2026 16:04
@Luap99
Copy link
Copy Markdown
Member

Luap99 commented May 5, 2026

Can we coordinate and discus such larger changes first please?

IMO container-libs should be moved under the podman CNCF org and then make use of the same "static VM images" approach we will design there.

Runtime installs like this proposing doing have been breaking us a lot historically and on a repo with such activity level like here I do not consider that useful nor is compiling several rust deps on each PR a useful for CI speed.

@giuseppe giuseppe force-pushed the move-to-gh-actions branch from 032b919 to 8b2df2f Compare May 5, 2026 16:50
@giuseppe
Copy link
Copy Markdown
Member Author

giuseppe commented May 5, 2026

Can we coordinate and discus such larger changes first please?

IMO container-libs should be moved under the podman CNCF org and then make use of the same "static VM images" approach we will design there.

Runtime installs like this proposing doing have been breaking us a lot historically and on a repo with such activity level like here I do not consider that useful nor is compiling several rust deps on each PR a useful for CI speed.

sure, I close this one. Consider it only an experiment to see how far we could go using GHA.

@giuseppe giuseppe closed this May 5, 2026
@giuseppe
Copy link
Copy Markdown
Member Author

giuseppe commented May 5, 2026

IMO container-libs should be moved under the podman CNCF org and then make use of the same "static VM images" approach we will design there.

and if there is anything I can help with that effort, just let me know

@Luap99
Copy link
Copy Markdown
Member

Luap99 commented May 5, 2026

sure, I close this one. Consider it only an experiment to see how far we could go using GHA.

Ack, yeah I think in terms of test matrix and yaml template this is likely a good start and the path-filter thing looks really useful (what a shame that this is not a native feature...)

Overall I think we must be careful to not write to much scripts as part of github actions. Debugging this outside of CI will then always suck. My thinking is to have one general automation repo that creates "static" qcow2 images, fedora, debian like we have right now and then use the gh actions runner to run them as VMs.

Then we have a some generic test script/Makefile or whatever that starts the VM mounts the repo and runs the tests inside. Then all the general infra, create user, etc.. would be part of that script. So the GH action yaml should just call that with the right tests name/disto version...

And then a user could do the same locally to run tests in a proper env exactly like in CI.

and if there is anything I can help with that effort, just let me know

thanks will do

@Luap99
Copy link
Copy Markdown
Member

Luap99 commented May 21, 2026

@giuseppe Do you want to continue this with an appraoch like I have taken in podman podman-io/podman-sandbox#5

I think for the basic compile checks we can use the default ubuntu runners/go action to test compiles, but for the integration tests I think we should use the VMSs for a "clean env"

@Luap99
Copy link
Copy Markdown
Member

Luap99 commented May 21, 2026

Oh and as general rule I like to put as little into the github yaml in-line script as possible. I mean we always need to use some actions of course and install some deps there with is fine.
But like the pure test setup/start, and other things is best done in some scripts/Makefiles so users can resuse these locally to run the tests on their system if possible.

i.e. from my podman example any user who has lima installed can do ./contrib/ci/ci.sh int local root fedora-current to run the tests in the same way as CI easily if they want to debug things locally.

@giuseppe giuseppe reopened this May 22, 2026
@giuseppe giuseppe force-pushed the move-to-gh-actions branch 2 times, most recently from 190519f to 8eba6d7 Compare May 23, 2026 08:32
Apply fixes suggested by `go fix` with Go 1.26:
- []byte(fmt.Sprintf(...)) → fmt.Appendf(nil, ...)
- for i := 0; i < N; i++ → for i := range N
- strings.HasSuffix + strings.TrimSuffix → strings.CutSuffix

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
@giuseppe giuseppe force-pushed the move-to-gh-actions branch from 8eba6d7 to 8697654 Compare May 23, 2026 08:45
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
@giuseppe giuseppe force-pushed the move-to-gh-actions branch from 8697654 to 1063b92 Compare May 23, 2026 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

image Related to "image" package storage Related to "storage" package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants