Commit Graph

75 Commits

Author SHA1 Message Date
renovate[bot]
e8183e836c [skip-ci] Update actions/checkout digest to b4ffde6
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 11:14:37 +00:00
Chris Evich
7ef8519f4a Revert "GHA Workflow: Faster discussion-locking"
This reverts commit 618f846edc.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-09-29 16:01:20 -04:00
renovate[bot]
4ed9dc1add [skip-ci] Update dawidd6/action-send-mail action to v3.9.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 10:32:01 +00:00
Lokesh Mandvekar
59ffea80d2 FCOS+podman-next: correct GHA conditional syntax
Ref: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-using-contexts

[skip-ci]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-09-26 10:34:52 -04:00
Lokesh Mandvekar
52ba1bfff7 [CI:BUILD] FCOS image: enable nightly build
`wait-for-copr` is still very flaky and has failed more often than not.
Ref: https://github.com/fedora-copr/copr/issues/2819

This change to the fcos GHA will allow nightly builds pulling in
whatever packages exist on podman-next at that time without depending on
wait-for-copr.

The commit id will still be recorded in podman version as well as the
image tag, so auditing is not affected with this change.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-09-25 14:15:01 -04:00
OpenShift Merge Robot
28a1c5492e Merge pull request #20042 from cevich/faster_closed_issue_pr_lock
[skip-ci] GHA Workflow: Faster discussion-locking
2023-09-20 11:58:43 +02:00
Chris Evich
618f846edc GHA Workflow: Faster discussion-locking
The closed issue & PR lock is working fine, but it has a built-in
50-item limit.  The limit is not configurable.  Since there are
tens-of-thousands of issues/prs to go through, 50-per-day could take
almost a year.  Speed things up 24x by running the job every hour
instead of daily.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-09-19 16:01:34 -04:00
Lokesh Mandvekar
fa71504518 [CI:BUILD] followup PR for fcos with podman-next
Followup on #19477

Remove commented out cirrus task for fcos image build with podman-next
and add 2 github actions: 1 for running a simple uni-arch image build
on every PR and another to actually build multiarch images and push to
quay after merge.

`podman --version` will also include git short sha for clarity.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-09-19 10:19:53 -04:00
Daniel J Walsh
b1e3e8d972 Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-09-14 06:13:23 -04:00
renovate[bot]
e825bd5d5e [skip-ci] Update actions/checkout action to v4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-04 12:51:33 +00:00
Lokesh Mandvekar
50cd072bf6 [CI:BUILD] Podman FCOS image from main
Fixes: #19446, #19447, #19448

[NO NEW TESTS NEEDED]

Co-authored-by: Chris Evich <cevich@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-09-01 09:50:59 -04:00
Lokesh Mandvekar
39c5b7face remove rh.container.bot@gmail.com
Don't need this email as we have podman-monitor email listed wherever
relevant.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-08-30 15:01:16 -04:00
Chris Evich
21c9517b5e Revert "GHA: Closed issue/PR comment-lock test"
This reverts commit f0e8e79c97.
This is intentional, it was needed for testing. See

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-22 14:51:24 -04:00
Chris Evich
f0e8e79c97 GHA: Closed issue/PR comment-lock test
This commit limits the blast-radius should the workflow fail
catastrophically.  It also instruments the workflow with a job-level
test-failure to trigger a notification mail.  This commit should be
reverted once the workflow is deemed functional.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-22 13:30:04 -04:00
Chris Evich
5477fd38a9 GHA: Add workflow to lock closed issues/PRs
Ref: https://github.com/containers/podman/discussions/19012

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-22 13:30:03 -04:00
renovate[bot]
7988dd82c9 [skip-ci] Update dawidd6/action-send-mail action to v3.8.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 12:38:30 +00:00
Chris Evich
03d7a5120c Minor: Include shasums in GHA workflow artifacts
This may be helpful in case SHA comparison is needed w/ files elsewhere.
For example, the files uploaded to a github release page.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-07 11:42:39 -04:00
Chris Evich
d63ac06521 Minor: Add important comment to windows GHA workflow
Ref:
https://github.com/containers/podman/pull/19418#issuecomment-1665938019

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-07 11:37:33 -04:00
Chris Evich
9d7fe4e90f Minor: Update/fix dry-run input descriptions
These are visible when running either job manually.  Fix the windows
workflow by including a `v` prefix to an obviously fictitious version
number.  For consistency, update the mac workflow text to match.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-07 11:30:32 -04:00
OpenShift Merge Robot
7a2c5422e8 Merge pull request #19418 from cevich/dry_run_actions
[CI:DOCS] GHA: Support testing build/sign workflows
2023-08-03 11:38:56 +02:00
Chris Evich
4d69f01468 GHA: Support testing build/sign workflows
Neither `release` nor `workflow_dispatch` triggers may be tested inside
a PR context.  The workflow steps always run from what's already
committed to `main`.  Rather than waiting for a release to discover
some unforeseen workflow problem, allow manual runs to optionally skip
the release upload step (by default).

Also, update the windows workflow to store an artifact of the signed
build, and migrate away from the deprecated "set-output" command.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-02 16:58:16 -04:00
Chris Evich
93f4cc1b51 [CI:DOCS] GHA: Use stable go for Mac/Win builds
Having hard-coded versions burried under a hidden directory is ripe for
maintenance headaches.  Use the latest 'stable' version, since this will
be "close enough" to what we test in CI.

Ref: https://github.com/containers/podman/discussions/19404

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-07-31 10:43:53 -04:00
Ashley Cui
f592c33fb8 [CI:DOCS] Build and Sign Mac Pkginstaller
Create a new GitHub Action that builds and signs the Mac pkginstaller. The action also uploads the installers to the release, and updates the shasums file.

This action is triggered on release creation, but it can also be triggered manually via a workflow dispatch.

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-07-27 15:17:37 -04:00
renovate[bot]
8d24e28387 [skip-ci] Update github/issue-labeler action to v3.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-08 19:44:36 +00:00
Chris Evich
a7271f9dd7 GHA: Fix bad job-names & links in monitoring emails
Due to a bad file-format design, if a cirrus-cron job happened to have a
name w/ spaces, the generated e-mail text would be broken.  For example:

```
Cron build 'VM' Failed: https://cirrus-ci.com/build/Image Maintenance
5630822628196352
```

Fix this by flipping the field-order in an intermediate file, so the
build ID comes first, then the job name.  This makes it much easier for
`read` to process, since all words will be stored into the final
variable (now the job name).

Also change all variables that reference this intermediate file such
that they continue to reflect the expected field order.  Update script
tests and add a new test to confirm expected file processing and output.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-06-07 15:22:17 -04:00
renovate[bot]
fc8bd45215 [skip-ci] Update dawidd6/action-send-mail action to v3.7.2
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-25 08:12:08 +00:00
Chris Evich
d53871cf12 GHA: Use version instead of SHA for actions
It's nearly impossible for humans to tell semantic-version differences
by looking at a commit sha.  Since all the actions in question come from
github, there's little security/safety benefit to using SHAs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-04-10 14:45:36 -04:00
OpenShift Merge Robot
c04ccdbc55 Merge pull request #18121 from containers/renovate/actions-stale-8.x
[skip-ci] Update actions/stale action to v8
2023-04-09 07:20:31 -04:00
OpenShift Merge Robot
b3dd2dbf4c Merge pull request #18115 from containers/renovate/actions-setup-go-4.x
[skip-ci] Update actions/setup-go action to v4
2023-04-09 07:17:55 -04:00
OpenShift Merge Robot
8a6dc0a822 Merge pull request #18112 from containers/renovate/github-issue-labeler-2.x
[skip-ci] Update github/issue-labeler action to v2.6
2023-04-09 07:15:18 -04:00
renovate[bot]
c5a0d86461 [skip-ci] Update actions/upload-artifact action to v3
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-09 10:09:56 +00:00
renovate[bot]
d3cf8ccf84 [skip-ci] Update actions/stale action to v8
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-09 07:32:10 +00:00
renovate[bot]
21fbd5c1ab [skip-ci] Update actions/setup-go action to v4
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-08 22:36:07 +00:00
renovate[bot]
f3971e4124 [skip-ci] Update github/issue-labeler action to v2.6
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-08 11:06:49 +00:00
Chris Evich
45f8b1ca9e [skip-ci] GHA/Cirrus-cron: Fix execution order
Fairly universally, the last Cirrus-Cron job is set to fire off at
22:22 UTC.  However, the re-run of failed jobs GHA workflow was
scheduled for 22:05, meaning it will never re-run the last cirrus-cron
job should it fail.

Re-arrange the execution order so as to give plenty of time between the
last cirrus-cron job starting, the auto-re-run attempt, and the final
failure-check e-mail.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-12-06 10:38:10 -05:00
Chris Evich
f5a43eea29 GHA: Fix cirrus re-run workflow for other repos.
The checkout action by default, clones the current repository.  However,
since this workflow is re-used by other repos, and it calls scripts in
the podman repo, those calls will all fail.  Fix this by hard-coding the
podman repo.

Ref: https://github.com/actions/checkout

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-21 10:59:40 -05:00
Chris Evich
021a23b349 GHA: Configure workflows for reuse
It's possible to reuse a GHA workflow from another repo with minimal
YAML.  However there are certain requirements, like spelling out all the
required secret values.  Also any mention of `ACTIONS_STEP_DEBUG` will
cause failures and must be removed.

As usual, there's no convenient way to test these changes without pushing
to a `main` branch somewhere that also has all the proper secrets
configured.  However, I did pattern these changes off of a working setup
in buildah:

fd2d05c0a7/.github/workflows/check_cirrus_cron.yml

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-14 13:52:03 -05:00
Chris Evich
329b053cf5 GHA: Fix undefined secret env. var.
Because in github-actions, setting a secret variable isn't enough.  You
ALSO have to set it again in your YAML.  I guess it's assumed in the
name of "security" that the person with access to secrets, might not
also have access to update YAML.  Crazy!

Also, while I'm at it.  Bump up the execution schedule WRT the
check_cirrus_cron workflow - this will give re-run jobs more time to
complete.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-10 18:07:56 -05:00
Chris Evich
a13a59a703 GHA: Fix make_email-body script reference
This component was recently migrated from being inline, into a dedicated
script file.  This was necessary for testing.  However, it's hard to
test the actual github-actions workflow YAML, and there was a typo.  Fix
the reference to the script filename missing the `.sh` extension.

Ref: https://github.com/containers/podman/pull/16414

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-10 14:09:29 -05:00
Chris Evich
fcfb7d2927 GHA: Fix typo.
Whoops Ref: #16414

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-10 12:33:18 -05:00
Chris Evich
0334d8d611 Cirrus: Add tests for GHA scripts
Also, fix the rerun_cirrus_cron workflow.  Thanks @ygalblum for spotting
the error.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-07 11:47:30 -05:00
Chris Evich
462ce32e66 GHA: Fix cirrus-cron scripts
Lack of proper testing possibility for github actions and lack of
script-testing by me, allowed several flaws through into 'main'.  Fix
the problems and manually test the scripts to make sure they're working.

Note: Also revert the stupid SHA-based action-pinning back to normal,
human-readable version numbers.  The value of using SHAs in the name of
improved "security" is real, but the value of human-readability and
ease of maintenance is greater.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-07 11:46:34 -05:00
Chris Evich
35523d560a GHA: Auto. re-run failed cirrus-cron builds once
With a seemingly ever growing list of cirrus-cron jobs running on
release branches, there are bound to be some hiccups.  Sometimes a lot
of them.  Normally any failures require a human to eyeball the logs
and/or manually re-run the job to see if it was simply a flake.  This
doesn't take long, but can be distracting and compounds over time.

Attempt to alleviate some maintainer burden by using a new github action
workflow to perform **one** automatic re-run on any failed builds.  This
task is scheduled an hour prior to a second failure check, and generation
of notification e-mail for review.

Note: If there are no failures, due to the auto. re-run or luck, no
e-mail is generated. If this proves useful in this repo, I intend to
re-use this workflow for other repo's cirrus-cron jobs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-03 13:54:39 -04:00
Chris Evich
3a85d537b6 GHA: Migrate inline script to file
Inline scripts make github-action workflow YAML harder to read/maintain.
Relocate the e-mail formation script to a dedicated file.  This also
permits better input-validation and re-use of a common `err()` function.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-03 13:54:39 -04:00
Chris Evich
980d5b3622 GHA: Simplify script reference
This workflow was originally crafted to be (somehow) reused with
different scripts.  That never happened and the extra indirection is
confusing and hard to maintain.  Remove it.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-03 13:54:38 -04:00
Austin Vazquez
bb78ba19eb Upgrade GitHub actions packages from v2 to v3
Upgrade actions/checkout and actions/upload-artifact packages from v2 to
v3.

Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2022-10-30 20:24:55 -07:00
Ed Santiago
885bc4742d Enable github labeler, use for api-change
Belated followup to #11829: use github labeler workflow[1] to
auto-add 'kind/api-change' label to PRs in which files are
touched under pkg/api

 [1] https://github.com/actions/labeler

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-13 07:36:45 -06:00
Jason T. Greene
ecb9f99b88 Add new windows installer and build
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-09-06 16:12:09 -05:00
naveensrinivasan
9cacc18c95 Set permissions for GitHub actions
- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com>
2022-03-30 20:36:23 +00:00
Chris Evich
f6963cea13 Cirrus: Build multi-arch images + manifests
Github-actions for large/complex tasks is hard to read and maintain.
Reimplement the multi-arch image build workflow into a set of bash
scripts that use all native contrainer-org tooling.  This requires
a special VM image setup with emulation to build foreign architectures.
It also requires renaming the `helloimage` directory, because the build
script uses the directory name in the image FQIN.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-03-28 16:56:28 -04:00