Skip to content

[podman-5.8] Backport working CI here#1010

Merged
mtrmac merged 46 commits into
podman-container-tools:podman-5.8from
Luap99:podman-5.8
Jul 23, 2026
Merged

[podman-5.8] Backport working CI here#1010
mtrmac merged 46 commits into
podman-container-tools:podman-5.8from
Luap99:podman-5.8

Conversation

@Luap99

@Luap99 Luap99 commented Jul 22, 2026

Copy link
Copy Markdown
Member

I manually choose these three commits prior to the ci rework:
6f52244
f250115
c4beb46

And then the rest of the commits I got with git log --format=%H e7a48b3642^..main -- .github/workflows/ hack/ci/ | tac for cherry-picking to get all the stuff from main since the migration. With that I only had to solve some minor conflicts.

Lastly more commits to make the new ci yaml check happy by removing .github/workflows/opendownstream-pr.yml, fixing some permission problem, fix the netavark tests and remove the cni tests, and then set the right skopeo branch for this container-libs version.

Make sure all go module related changes are committed properly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 6f52244)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
@github-actions github-actions Bot added storage Related to "storage" package image Related to "image" package CI labels Jul 22, 2026
@packit-as-a-service

Copy link
Copy Markdown

Packit jobs failed. @containers/packit-build please check.

Luap99 and others added 25 commits July 22, 2026 16:23
Do not define GIT_CHECK_EXCLUDE in two places and just define it once
and make the action use the Makefile.
In addtion we don't want to lint the full set of commits, this seems to
cause side effects with merge commits as it lints commits that may no
actual be in the PR and thus it can fail.

Using "github.event.pull_request.base.sha" is the right base commit we
care about and makes the validation work. Thanks to Miloslav for finding
that value.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit f250115)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
No longer built fuse-overlayfs and bats from source, we have latest
versions in the CI images already.

The CI broke as fuse-overlayfs was rewritten in rust we can no longer
compile it like this.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit c4beb46)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: Tim Zhou <timcoding1988@gmail.com>
(cherry picked from commit e7a48b3)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: Tim Zhou <timcoding1988@gmail.com>
(cherry picked from commit 5bf07fd)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 755f4d7)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This makes for a much nicer web page, focusing on the actual tests.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit 112166a)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit fa543cd)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
... and note that we should have it Renovate-managed.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit b23fe32)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This should let us benefit from the latest diagnostics
without having to manage a specific version.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit b05c61d)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit 42797be)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This matches the previous situation + comment, but I don't
know personally why this was done and I don't have a confirmation
by the original author.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit ee32565)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit 492b37b)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
The original rationale no longer applies (our Debian
images use a newer kernel) and it's not clear why we need this.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
(cherry picked from commit 0027eb9)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
The images should have all we need already installed.
Runtime installs are bad because they are flaky and can start failing
all of the sudden.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 4bd0192)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Should include the sq binary for the image tests.

Fixes: podman-container-tools#912

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit b386240)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ef73911)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
With the modernize lint this is not needed anymore.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 319db77)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Do it like in podman and buildah and use a extra lima.yml to deduplicate
the yml file. Also while at it touch up the task names, the name is set
like the arguments to hack/ci/ci.yml like in podman so we can just copy
paste this to reproduce any CI failure locally with that.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 54e86e4)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Mainly so we trigger it from the main ci.yml and work it in the task
dependencies so we do not have to have extra tasks in the merge
protection settings.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 0f2151f)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit ea28f61)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This should safe some test resources if basic validation fails already.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 5eadb77)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Because merge protection gates on Total Success we should have a job to
ensure the yaml really has the right deps for it to work correctly.

Also add a check to ensure all tasks are pinned with a version comment.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit ddbfa72)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
The default github timeout is 6 hours which is way to long. In case
there is ever a hang abort after 10 minutes as all these jobs should be
quite fast.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit e53fa8c)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
All the jobs should be much faster than this so we do not needs such
long timeouts. In case of hangs it is better to abort early.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 1b4b968)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This action has write access to PRs so we should guard against a
compromised tag and only update explicitly via renovate PRs.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 726f5d0)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Not a cherry-pick as it causes a lot more conflicts and this was a
simple rm .github/workflows/opendownstream-pr.yml

Upstream commit: 5b17ba4

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
@Luap99

Luap99 commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

Ok I am a bit clueless for the image test, I have basically a one to one copy yet it works on main but fails here
https://github.com/podman-container-tools/container-libs/actions/runs/29928414741/job/88952079008?pr=1010

go: could not create module cache: stat /home/ubuntu.guest/go/pkg/mod: permission denied
go: could not create module cache: stat /home/ubuntu.guest/go/pkg/mod: permission denied
make: *** [Makefile:74: test] Error 1

@Luap99

Luap99 commented Jul 22, 2026

Copy link
Copy Markdown
Member Author
    --- FAIL: TestCopy/TestCopySchemaConversion (3.86s)
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --retry-times 3 docker://quay.io/libpod/busybox dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/input2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/input2 docker://localhost:5006/myns/schema2:f2t2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5006/myns/schema2:f2t2 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/dest2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/input2 docker://localhost:5005/myns/schema1:f2t1
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5005/myns/schema1:f2t1 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/input1
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/input1 docker://localhost:5005/myns/schema1:f1t1
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5005/myns/schema1:f1t1 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/dest2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/input1 docker://localhost:5006/myns/schema2:f1t2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5006/myns/schema2:f1t2 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/001/dest2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --retry-times 3 docker://quay.io/libpod/busybox dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/input2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/input2 docker://localhost:5555/schema2:f2t2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5555/schema2:f2t2 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/dest2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/input2 docker://localhost:5556/schema1:f2t1
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5556/schema1:f2t1 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/input1
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/input1 docker://localhost:5556/schema1:f1t1
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5556/schema1:f1t1 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/dest2
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --dest-tls-verify=false dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/input1 docker://localhost:5555/schema2:f1t2
        utils_test.go:78: 
            	Error Trace:	/var/tmp/skopeo/integration/utils_test.go:78
            	            				/var/tmp/skopeo/integration/copy_test.go:1240
            	            				/var/tmp/skopeo/integration/copy_test.go:1177
            	            				/usr/lib/golang/src/runtime/asm_amd64.s:1771
            	Error:      	Received unexpected error:
            	            	exit status 1
            	Test:       	TestCopy/TestCopySchemaConversion
            	Messages:   	Getting image source signatures
            	            	Copying blob sha256:9758c28807f21c13d05c704821fdd56c0b9574912f9b916c65e1df3e6b8bc572
            	            	Copying blob sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
            	            	Writing manifest to image destination
            	            	Writing manifest to image destination
            	            	time="2026-07-22T17:44:26Z" level=fatal msg="Uploading manifest failed, attempted the following formats: application/vnd.docker.distribution.manifest.v1+prettyjws(writing manifest: uploading manifest f1t2 to localhost:5555/schema2: manifest invalid), application/vnd.docker.distribution.manifest.v2+json(Can not convert image to application/vnd.docker.distribution.manifest.v2+json, preparing DiffIDs for this case is not supported), application/vnd.oci.image.manifest.v1+json(Can not convert image to application/vnd.oci.image.manifest.v1+json, preparing DiffIDs for this case is not supported), application/vnd.oci.image.index.v1+json(creating an updated image manifest: Unsupported conversion type: application/vnd.oci.image.index.v1+json), application/vnd.docker.distribution.manifest.list.v2+json(creating an updated image manifest: Unsupported conversion type: application/vnd.docker.distribution.manifest.list.v2+json), application/vnd.docker.distribution.manifest.v1+json(writing manifest: uploading manifest f1t2 to localhost:5555/schema2: manifest invalid)"
        utils_test.go:76: Running /var/tmp/skopeo/bin/skopeo copy --src-tls-verify=false docker://localhost:5555/schema2:f1t2 dir:/tmp/TestCopyTestCopySchemaConversion3371413298/002/dest2
        utils_test.go:78: 
            	Error Trace:	/var/tmp/skopeo/integration/utils_test.go:78
            	            				/var/tmp/skopeo/integration/copy_test.go:1241
            	            				/var/tmp/skopeo/integration/copy_test.go:1177
            	            				/usr/lib/golang/src/runtime/asm_amd64.s:1771
            	Error:      	Received unexpected error:
            	            	exit status 2
            	Test:       	TestCopy/TestCopySchemaConversion
            	Messages:   	time="2026-07-22T17:44:26Z" level=fatal msg="initializing source docker://localhost:5555/schema2:f1t2: reading manifest f1t2 in localhost:5555/schema2: manifest unknown"
        utils_test.go:304: 
            	Error Trace:	/var/tmp/skopeo/integration/utils_test.go:304
            	            				/var/tmp/skopeo/integration/copy_test.go:1242
            	            				/var/tmp/skopeo/integration/copy_test.go:1177
            	Error:      	Received unexpected error:
            	            	open /tmp/TestCopyTestCopySchemaConversion3371413298/002/dest2/manifest.json: no such file or directory
            	Test:       	TestCopy/TestCopySchemaConversion

I have a local fix for the common problem but I do not understand what is going on with the skopeo tests here?
I set the target branch to 1.22 and used the same skopeo testimage we have on the branch as per the cirrus.yml there in skopeo. I don't know what is different

@Luap99

Luap99 commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

@mtrmac would be nice if you could have a short look at the skopeo test failure if you know what the error is about.

@mtrmac

mtrmac commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

@Luap99 That looks like v2s1SupportedDockerRegistryURL does not actually support schema1; probably (but I didn’t verify this) Skopeo’s release-1.22 branch needs podman-container-tools/skopeo#2820 .

@Luap99

Luap99 commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

but that is the thing I do not get, I choose an skopeo image before that change went in 6f419aa here so I thought that should be compatible. I can certainly try a newer image and apply that skopeo patch

@mtrmac

mtrmac commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

I didn’t now inspect the exact contents of the image — note that the relevant point is not containers/automation_images#437 , but an earlier image update which updated the docker-distribution RPM to v3.

@Luap99

Luap99 commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

I didn’t now inspect the exact contents of the image — note that the relevant point is not containers/automation_images#437 , but an earlier image update which updated the docker-distribution RPM to v3.

Yes sure, the image ID I picked is the one that is still being seen in the .cirrus.yml on the release-1.22 branch there which implies to me that image ID must have worked with that skopeo branch, at least until before cirrus was turned off.

But maybe something is wrong with the copy logic here

@github-actions github-actions Bot added the common Related to "common" package label Jul 23, 2026
Luap99 added 3 commits July 23, 2026 15:17
With lima we already run as rootless user so just run the tests as that
user.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Netavark v2 is not supported with the old podman 5.X branches so we
should not test again it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
We have no supported it since 5.0 upstream, the latest ci image does not
have all the deps for it so just remove it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This target does not exists on this branch and was only added later.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
We need to test against the right skopeo branch, while at it update the
skopeo git url to the new org.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
@Luap99
Luap99 marked this pull request as ready for review July 23, 2026 16:47
@Luap99

Luap99 commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

@TomSweeneyRedHat @mtrmac PTAL

Once this is merged #1007 can be rebased and have proper tests

@mtrmac mtrmac left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ACK, thanks!


“ci: do not use custom ssh user for image tests” could be forward-ported back to main I think.

Comment thread .github/workflows/validate.yml
@Luap99

Luap99 commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

“ci: do not use custom ssh user for image tests” could be forward-ported back to main I think.

yes that is on its way, I have to many branches at once right now

@mtrmac
mtrmac merged commit cff8f4a into podman-container-tools:podman-5.8 Jul 23, 2026
58 of 60 checks passed
@Luap99
Luap99 deleted the podman-5.8 branch July 23, 2026 17:39
@Luap99

Luap99 commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

“ci: do not use custom ssh user for image tests” could be forward-ported back to main I think.

yes that is on its way, I have to many branches at once right now

#1014

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

Labels

CI common Related to "common" package 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