Commit graph

15 commits

Author SHA1 Message Date
Tushar Verma
0560956de5 hack/ci: pass --remote to bud tests
Signed-off-by: Tushar Verma <tusharmyself06@gmail.com>
2026-08-17 16:28:35 +05:30
Paul Holzinger
4c1f8f267b
Merge pull request #29301 from vtushar06/ci-desired-runtime-storage
Some checks are pending
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / farm rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
hack/ci: rename STORAGE_FS to CI_DESIRED_STORAGE and add PODMAN_CI
2026-08-12 17:56:22 +02:00
Danish Prakash
4384c6cffa
Merge pull request #29290 from satwiksps/ci-reenable-farm-tests
CI: re-enable farm tests in GitHub Actions
2026-08-12 14:05:58 +05:30
Paul Holzinger
58eaf29243
Merge pull request #29357 from Animesh-Parashar/fix/localunit-ginkgo-prereq
Makefile: build ginkgo before running localunit
2026-08-11 18:20:22 +02:00
Animesh Parashar
1b0f66cca1 Makefile: build ginkgo before running localunit
make localunit fails on a clean checkout:

    $ git clean -xfd && make localunit
    /usr/bin/bash: line 1: ./bin/ginkgo: No such file or directory
    make: *** [Makefile:675: localunit] Error 127

The recipe runs $(GINKGO) but the target never declared it. ginkgo-run,
testbindings and system.test-binary all declare .install.ginkgo;
localunit did not.

hack/ci/runner.sh worked around this by running make .install.ginkgo
before $SUDO make localunit. That workaround is no longer needed.

Signed-off-by: Animesh Parashar <animeshparashar3439@gmail.com>
2026-08-11 00:11:37 +05:30
Satwik Sai Prakash Sahoo
25f72c5842
CI: re-enable farm tests in GitHub Actions
Farm tests were skipped during the Cirrus-to-GHA migration. Re-enable
them by adding a run_farm() function in runner.sh which starts the
rootless podman socket that the farm node connection talks to, and by
adding farm to the small-tests matrix so that it runs rootless on
fedora-current. A path filter makes it trigger on test/farm/ or shared
system test helper changes.

Also stop test/farm/setup_suite.bash from assuming that the rootless
user's home directory is /home/$ROOTLESS_USER, which does not hold on
the CI VMs.

Fixes: #28833
Signed-off-by: Satwik Sai Prakash Sahoo <sahoospsatwik@gmail.com>
2026-08-10 21:58:28 +05:30
Tushar Verma
344d79131a hack/ci: rename STORAGE_FS to CI_DESIRED_STORAGE and add PODMAN_CI
Signed-off-by: Tushar Verma <tusharmyself06@gmail.com>
2026-07-29 18:22:44 +05:30
Paul Holzinger
784f70980d
ci: Use the GitHub action grouping syntax
This groups log output in the github UI and makes it easier to just show
the actual test results, the groups are hidden under an extra drop down
and only shown when selected.

Inspired by Miloslav container-libs change for this.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-29 14:49:24 +02:00
Paul Holzinger
66c6da6e84
re-enable logformatter and post failure summary
Adapt the logformatter script to run again to produce nicely formatted
html logs. Because github cannot upload and show raw html files we can
only add it to the log archive which must be downloaded and viewed
locally.

To improve the online experience however github does have the
GITHUB_STEP_SUMMARY logic which allows us to produce markdown which will
be shown on the summary page for a given test run.

The problem is even though github markdown supports some html is does
not support CSS and out custom style of the logformatter, in addition
the output size is limited so I wrote another script parsing the html
output again and turning it into plain test for only the failed tests
and then show this as plain text inside codeblocks in the markdown.

With this we have a short failure summary which should display all
failures at once in the run page so maintainers can see if the failed
log was just some flake or an actual problem with the PR.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-29 14:49:23 +02:00
Kir Kolyshkin
bb3f0c9e56 hack: format with shfmt -w
Using shfmt v3.13.1

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-06-09 11:55:16 -07:00
Paul Holzinger
399e822ca4
New GHA lima ci testing setup
The main gh action is just there to install lima and then call the main
ci.sh script which uses lima to start the right VM and then run the
tests inside there mostly for linux tasks where possible.

Inside the VM we use the runner.sh script to setup the env and launch the
final test.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-01 13:01:34 +02:00
Kir Kolyshkin
26e30e5f6d
Publish swagger.yaml from GitHub Actions on push to main and tags
Add a 'Publish swagger' workflow that builds pkg/api/swagger.yaml and
uploads it to the libpod-master-releases GCS bucket (swagger-latest.yaml
for main, swagger-<tag>.yaml for tags), reusing the same gcsupld container
as Cirrus with GCPJSON/GCPNAME supplied via repository secrets. Per-PR
uploads to libpod-pr-releases are dropped, as nothing consumes them.

The gcsupld image tag is hardcoded (copied from .cirrus.yml IMAGE_SUFFIX)
rather than read at runtime, since Cirrus CI is to be decommissioned soon.

Remove the now-migrated swagger_task from .cirrus.yml (and its success_task
dependency) and the _run_swagger handler from hack/ci/runner.sh, and update
docs/README.md to point at the new workflow. While at it, fix the link in
docs/README.md to hack/ci/README.md#docs-task, which had been dangling ever
since that file was removed in 2020 by commit 2c9084e224.

Note: requires GCPJSON and GCPNAME to be configured as GitHub repository
secrets before the upload step can succeed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-06-01 13:01:34 +02:00
Kir Kolyshkin
1da154117c
Migrate 'build each commit' check from Cirrus to GHA
Add a 'Build each commit' step to the validate-source job. It builds the
PR fork point to record baseline binary sizes, then rebuilds and size-checks
each commit via 'git rebase -x', confirming every commit compiles on its own
and that no binary grows beyond the enforced limit.

Move hack/make-and-check-size to hack/ci/make-and-check-size.sh and replace
its Cirrus-specific GitHub GraphQL label query with a BLOAT_APPROVED env var
that the workflow derives from the 'bloat_approved' PR label.

Drop the now-migrated 'Build Each Commit' matrix entry from .cirrus.yml and
the corresponding *Each* case from hack/ci/runner.sh.

NOTE due to chicken-and-egg problem with make-and-check-size we need to
make a copy of it before working with git.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-06-01 13:01:34 +02:00
Kir Kolyshkin
6e597af6dc
Migrate validate-source from Cirrus to GitHub Actions
Move the Cirrus validate-source_task to a GitHub Actions workflow
(.github/workflows/ci.yml) running as a single job on the CNCF-hosted
runner. The job runs the same stages: make validate-source,
tests-included, and the conditional renovate config check.

golangci-lint for FreeBSD and macOS now runs cross-compiled (GOOS) on
the native Linux runner instead of on dedicated Cirrus VMs/workers, so
the lint steps are dropped from osx_alt_build and freebsd_alt_build.

The PR helper scripts are de-Cirrus'd: they read CI-neutral env vars
(PR_HEAD, PR_NUMBER, PR_BODY) and the "No New Tests" label override is
now handled natively in the workflow instead of via a GraphQL query.

The shared clone/setup/main YAML anchors are relocated into build_task,
and the dead _run_validate-source runner.sh function is removed.

The tests-of-tests (.t files) are fixed for new setup (mostly removing
test cases which are now obsoleted, like [CI:DOCS] and [NO NEW TESTS]
markers. NOTE we still don't run tests in CI (although we could), but
I ran them locally and fixed all the issues.

Finally, test-jira-links-included is removed as it is RHEL-branch
specific and have no place in the new repo.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-06-01 13:01:33 +02:00
Kir Kolyshkin
f6575bd17f
Rename contrib/cirrus to hack/ci
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-06-01 13:01:33 +02:00
Renamed from contrib/cirrus/runner.sh (Browse further)