Commit graph

201 commits

Author SHA1 Message Date
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
6071d780e9
Run 'make swagger' in the validate-source GHA job
Build pkg/api/swagger.yaml via the go-swagger tool as part of source
validation, confirming the API spec generates cleanly. This mirrors the
generation half of the Cirrus swagger_task; that task is kept for now as
it also publishes swagger.yaml to GCS for the docs site, which is not
migrated here.

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
cd78329c3f ci: pin all github actions
Some were already pinned; let's fix the rest.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-05-19 12:11:39 -07:00
Ashley Cui
6ad87d00e0 Add nightly release pipeline validation
Build installers nightly, and test that our bot key is still valid. This is to catch hiccups before release time.

The intention is that after this is tested, the build-artifacts can be used in release.yml, like it is used in the validation action
But for now, the actual release does not use the build-artifacts action yet, let's let the testing bake a little first.

Signed-off-by: Ashley Cui <acui@redhat.com>
2026-05-13 16:41:20 -04:00
Ashley Cui
e131ee6274 Remove deprecated release actions
Our new release has been mostly stable at this point, remove legacy actions.

Signed-off-by: Ashley Cui <acui@redhat.com>
2026-05-12 14:54:18 -04:00
renovate[bot]
336601535a
[skip-ci] Update r-lib/actions action to v2.12.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-30 11:46:52 +00:00
renovate[bot]
7812e9d814
[skip-ci] Update dawidd6/action-send-mail action to v17
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-28 12:04:43 +00:00
renovate[bot]
a1734fb02b
[skip-ci] Update dawidd6/action-send-mail action to v16
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 20:58:17 +00:00
Ashley Cui
db6378e58d
Merge pull request #28503 from containers/renovate/zizmorcore-zizmor-action-0.x
[skip-ci] Update zizmorcore/zizmor-action action to v0.5.3
2026-04-15 15:18:51 -04:00
Lokesh Mandvekar
8e78ca8ee6
[skip-ci] Update actions/github-script action to v9
Pin actions/github-script@v9 to commit hash to satisfy zizmor
security requirements. This addresses the unpinned-uses failures
in PR #28484.

Ref: https://github.com/actions/github-script/releases/tag/v9.0.0

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-04-15 13:26:39 -04:00
Mario Loriedo
53fc1d902e Install WiX v5.0.2 to build the Windows installer
To avoid failures such as

https://github.com/containers/podman/actions/runs/24401569105/job/71274410909#step:10:78

use version v5.0.2 of WiX as we do in CI images:

fe80516848/win_images/win_packaging.ps1 (L27)

Related to issue https://github.com/containers/podman/issues/27042

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2026-04-14 18:44:58 +02:00
renovate[bot]
3082e88d2e
[skip-ci] Update zizmorcore/zizmor-action action to v0.5.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 02:12:09 +00:00
renovate[bot]
71e0456b1b
[skip-ci] Update actions/create-github-app-token action to v3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 01:14:19 +00:00
renovate[bot]
3edb22b509
[skip-ci] Update GitHub Artifact Actions
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 00:48:05 +00:00
Ashley Cui
6aedada3d1
Merge pull request #27762 from containers/renovate/dessant-lock-threads-6.x
[skip-ci] Update dessant/lock-threads action to v6
2026-03-11 10:59:57 -04:00
renovate[bot]
89d4fcd791
[skip-ci] Update zizmorcore/zizmor-action action to v0.5.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 09:26:04 +00:00
Matt Heon
e6e821c6e2
Merge pull request #28059 from timcoding1988/cherry-pick-bot
update cherry pick with pr
2026-02-16 14:33:35 -05:00
Tim Zhou
243df78fb9 adding assign github action
Signed-off-by: Tim Zhou <tizhou@redhat.com>
2026-02-12 14:31:34 -05:00
Tim Zhou
c69072edb1 update cherry pick with pr
Signed-off-by: Tim Zhou <tizhou@redhat.com>
2026-02-12 14:30:46 -05:00
Paul Holzinger
40a872c9ec
Merge pull request #28040 from Luap99/curl-error
make curl error on non success status codes
2026-02-09 14:01:36 +01:00
Paul Holzinger
af7c36eae3
make curl error on non success status codes
By default something like a 404 will not make curl exit with an error
code. This is problematic for obvious reasons and instead of the file
you want you may now have some 404 html text instead.

I noticed this in #28003 which well just build fine installers except
the binary downloaded by the installer Makefile simply did not exist.

So to address that add --fail to most curl commands.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-02-06 17:29:49 +01:00
renovate[bot]
aec7f806b5
[skip-ci] Update zizmorcore/zizmor-action action to v0.5.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 21:35:50 +00:00
Paul Holzinger
90cf2ec34d
Revert "cherry pick bot github action"
This reverts commit e1dfd455e7.

The action does not open a PR which is not what we want.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-02-04 18:44:05 +01:00
Matt Heon
fad519747e
Merge pull request #27984 from timcoding1988/chore/cherry-pick-bot-github-action
cherry pick bot github action
2026-02-03 14:15:51 -05:00
Tim Zhou
e1dfd455e7 cherry pick bot github action
Signed-off-by: Tim Zhou <tizhou@redhat.com>
2026-02-03 09:29:37 -05:00
renovate[bot]
07ab42eed5
[skip-ci] Update GitHub Artifact Actions
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 14:05:32 +00:00
renovate[bot]
0c04f53374
[skip-ci] Update zizmorcore/zizmor-action action to v0.4.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 22:32:18 +00:00
renovate[bot]
7331ccbc16
[skip-ci] Update actions/checkout action to v6.0.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 14:52:22 +00:00
Mario Loriedo
7f16628a50 Stop releasing the legacy windows installer
This commit removes the steps to build and publish the legacy windows
installer from the GitHub release workflow.

It's related to #27624.

It also removes the deprecated `upload-win-installer.yml` workflow.

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2026-01-05 12:19:44 +01:00
renovate[bot]
20e61ba88e
[skip-ci] Update dessant/lock-threads action to v6
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 15:50:41 +00:00
Mario Loriedo
22b10fa153 Use explicit download-artifact name and path for win-installer release
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-12-10 16:45:08 +01:00
Brent Baude
f87cefc262 Remove Intel MacOS support
This PR removes support for Intel Apple Macs. The removal includes
impacts to code, tests, Makefile, builds, release builds, and so forth.

Fixes Jira: RUN-3621

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-12-07 07:03:06 -06:00
Daniel Hast
1dbb897733
ci: add Zizmor workflow
Zizmor (https://docs.zizmor.sh/) is a static analysis tool for GitHub
Actions. Most of the issues identified by Zizmor were fixed in #27642.
This Zizmor action integrates with GitHub Advanced Security and scans
workflows for potential security issues, which should help ensure that
such issues aren't reintroduced in the future.

Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-02 18:12:15 -05:00
Daniel Hast
67c050bb8e
ci: use env vars to avoid template expansion in code contexts
Template expansions are not aware of shell script syntax, and therefore
can potentially result in code injection vulnerabilities when used in
code contexts: https://docs.zizmor.sh/audits/#template-injection

To avoid this, instead use environment variables to safely store the
values of the template expansions.

Also (in the process of doing the above) added double-quotes around a
some instances of variable expansions in shell scripts, which is
necessary to avoid unintended shell splitting and globbing. (I didn't
see any instances where this was actually likely to result in erroneous
behavior, but it's good practice and makes shell scripts more robust.)

Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-01 08:43:09 -05:00
Daniel Hast
3f4af378f4
ci: use --sandbox for dynamically generated sed scripts
sed scripts are capable of doing file I/O and executing arbitrary
commands. The `--sandbox` option prevents this by rejecting sed commands
with such capabilities; it's good practice to use this whenever the sed
script is dynamically generated (e.g. if it involves a variable
expansion).

Also fixed an error in one sed script where `.*` had been placed outside
of the quoted string (and would therefore be subject to shell globbing),
presumably due to single-quotes having been changed to double-quotes at
some point in the past.

Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-01 08:43:05 -05:00
Daniel Hast
b9736e8d11
ci: pass secrets explicitly to reusable workflow
Using `secrets: inherit` forwards all secrets to the workflow and makes
it harder to determine which secrets the workflow was actually executed
with. See: https://docs.zizmor.sh/audits/#secrets-inherit

Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-01 08:43:01 -05:00
Daniel Hast
64ddbfea12
ci: disable caching for actions/setup-go
This mitigates a potential cache-poisoning attack. For details, see:
https://docs.zizmor.sh/audits/#cache-poisoning

Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-01 08:42:54 -05:00
Daniel Hast
0752c5327e
ci: specify persist-credentials for actions/checkout
Explicitly set `persist-credentials: true` for uses of
`actions/checkout` where it's needed (when the job does git operations
using the stored credentials) and `persist-credentials: false` where the
stored credentials are not later used.

This reduces the risk of cached credentials accidentally being leaked
via artifacts.

Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-01 08:42:49 -05:00
Daniel Hast
30495081b7
ci: specify workflow permissions per job
Also remove some unnecessary permissions:

* The notification job in release-artifacts.yml only needs to read repo
  contents, not write contents and actions.
* All jobs in release.yml except "Create release" and "Update podman.io"
  only need to read repo contents. "Update podman.io" only needs to
  write repo contents and pull requests.
* Likewise, permissions for update-podmanio.yml can be restricted to
  only writing repo contents and pull requests.

Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-01 08:42:39 -05:00
Daniel Hast
248d8f64a6
ci: pin 3rd-party action dependencies by commit hashes
Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
2025-12-01 08:41:55 -05:00
renovate[bot]
a23b90b119
[skip-ci] Update actions/checkout action to v6
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 16:43:50 +00:00
renovate[bot]
07a27f95d1
[skip-ci] Update GitHub Artifact Actions
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-24 19:10:55 +00:00
openshift-merge-bot[bot]
24872421a8
Merge pull request #27284 from l0rd/rootless-win-installer-first-draft
Add a new Windows installer supporting both user and machine scopes
2025-10-20 13:02:29 +00:00
Mario Loriedo
9dbc33bb25 Add a new Windows installer supporting user scope
Fixes #22994 and #25968

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-10-15 18:50:03 +02:00
renovate[bot]
73e42b3c9c
[skip-ci] Update actions/setup-node action to v6
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 05:09:32 +00:00
Mohan Boddu
b8258a53dd Update github action to use pull_request_target
pull_request doesn't have access to the secret, pull_request_target
does have access to the secrets

Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2025-09-15 17:12:10 -04:00
openshift-merge-bot[bot]
1ea1958a2d
Merge pull request #27048 from containers/renovate/actions-setup-node-5.x
[skip-ci] Update actions/setup-node action to v5
2025-09-11 10:10:39 +00:00
renovate[bot]
80f1d48d44
[skip-ci] Update actions/setup-node action to v5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 21:03:12 +00:00