16 Commits

Author SHA1 Message Date
Paul Holzinger
8136cfbe4d docs: update API Reference docs
I forgot to update the docs here when I reworked the build process. Link
to the new location and explain how users can download the file, see
https://github.com/podman-container-tools/podman/discussions/29035

Now because the file is served on the same domain there should also be
no longer any issue with CORS so remove the old picture.

Fixes: c2ffe88ce0 ("build the swagger.yml on readthedocs")

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-29 12:02:53 +02:00
Ashley Cui
d6ccd2b8d9 Merge pull request #28939 from Luap99/new-image
Update automation image to 2026-06-16
2026-06-16 13:55:18 -04:00
Paul Holzinger
126d3e27ae update "No New Tests" PR filter list
For a while now we trigger CI tests based on if source files, i.e. *.go
files were changed. The "No New Tests" filter however checked something
else via a exclude list that was not being updated.

That means in many cases we needed to add the label when it is clear
that these thing should not need tests, i.e. packit or rpm/ changes.
To avoid the manual updates of all directories just grep for source
files.

Fixes: #28849

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-16 14:13:52 +02:00
Paul Holzinger
5c189e8136 Update automation image to 2026-06-16
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-16 10:42:42 +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
Kir Kolyshkin
d05c113acd ci: fix validate-source checks vs stale labels
When the validate-source job is re-run manually after adding a label,
it uses stale labels (from the "pull_request" event that originally
triggered it), and so the steps that check labels don't see new labels.

Fix by querying the labels live (similar to how it was done before
commits 6e597af6dc and 1da154117c).

Note the logic differs slightly between hack/ci/make-and-check-size.sh
and hack/ci/pr-should-include-tests. This is because
pr-should-include-tests is also executed locally as well as on non-PRs,
while make-and-check-size is run strictly in CI for PRs only.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-06-03 11:44:07 -07:00
Jan Rodák
9cef14899f Merge pull request #28832 from ashley-cui/ci
CI: Adjust Mac tmpdir
2026-06-02 11:55:45 +02:00
Paul Holzinger
3743b9f806 Goodbye Cirrus
Removing remaining cirrus specific files that we no longer use in the
new CI setup.

Fixes: #28829

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-01 20:34:27 +02:00
Paul Holzinger
66e7c06073 validate ci.yml file
Add some basic test checks for the new ci.yml to ensure all job
dependencies are set up right.

We can expand this with more checks later.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-01 20:34:27 +02:00
Ashley Cui
2984c2450b CI: Adjust Mac tmpdir
Makes for easier cleanup, and follows previous cirrus convention.

Signed-off-by: Ashley Cui <acui@redhat.com>
2026-06-01 13:24:35 -04:00
Paul Holzinger
a758d09b64 ci.yml: add macos jobs
Copied from Tim, but directly integrated into the main yml file to allow
for proper task dependencies.

Co-authored-by: Tim Zhou <tizhou@redhat.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-01 17:00:17 +02: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