Commit Graph

176 Commits

Author SHA1 Message Date
Lokesh Mandvekar e2ff5d4e5d
Windows Installer: switch to wix5
The chocolatey tool that was fetching us wix v3 can no longer be used to
fetch wix v4+ so we had to switch to dotnet to fetch the latest wix.

This commit builds the installer with wix v5.
wix v5 is installed via the `dotnet` tool in the windows image itself
at https://github.com/containers/automation_images/pull/354.

Going forward, the `dotnet` tool will also be used to build the installer.

In the process, the wix v3 files were converted to wix v4+ using `wix
convert` followed by manual modifications along with switch to wixproj
builds with dotnet.

The GitHub Action to upload windows installer now builds the installer
using winmake.ps1.

Contributions from Mario Loriedo:
- bundle setup update to wix5
- updates to build and release process scripts
Ref: https://github.com/lsm5/podman/pull/3

- small fixes to windows installer theme
Ref: https://github.com/lsm5/podman/pull/4

- Better win-installer sidebar logo
Ref: https://github.com/lsm5/podman/pull/5

Resolves: RUN-2055

Co-authored-by: Mario Loriedo <mario.loriedo@gmail.com>
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2024-07-05 15:28:19 -04:00
Paul Holzinger 55ad0d6e0e
cirrus.yml: automatic skips based on source
As we want to get rid of the special titles convert the existing skips
to the only_if condition, this makes it more readable as we do not need
to negate so much.

Then add similar conditions for all test tasks, this removes the need to
a special title such as CI:DOCS as the logic is smart enough to only
docs changes when no source code was changed.

Update the documentation for the new logic and no longer point
contributors to the CI:DOCS title as it is gone now.

There is a bunch of duplication in the rules as yaml doesn't allow us to
share only parts of a string. To prevent unwanted drift a test case in
contrib/cirrus/cirrus_yaml_test.py is added to ensure all conditions
follow the same base ruleset.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-07-04 11:32:36 +02:00
Chris Evich 54edf3d8ee
Release workflow: Include candidate descriptor
Assist humans by indicating clearly whe a release announcement is
pertaining to a candidate.  Otherwise, it's possible someone may
overlook the `-rcX` version suffix.

Also fix a quoting problem missed in testing.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 17:22:03 -04:00
Chris Evich 19989380b8
Minor: Fix indentation in GHA release workflow
Simply indent list items two spaces to the right WRT their parent.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 10:49:37 -04:00
Chris Evich 82973c38e4
GHA: Send release notification mail
Rather than manually crafting what ends up being nearly identical
release e-mails, do it automatically whenever a release is created.

Note: At the time of this commit, there is a possible race condition
with the `mac-pkg.yml` workflow, since it runs in parallel.  It could
fail, or fail to complete prior to the e-mail content being generated.
This should be unlikely, if `release-artifacts.yml` goes through and
compiles every artifact, but it's not guaranteed.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 10:48:14 -04:00
Chris Evich ad56dc7e2b
GHA: Validate release version number
There's a reasonable chance this workflow will be triggered by a human
(via `workflow_dispatch``), and a non-zero chance with an invalid
version number for which a release should not be created.  Detect this
and provide a way for the operator to debug the source of the error.

Also fix some whitespace inconsistencies.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-13 10:47:26 -04:00
Ashley Cui 8f8dfb971f [CI:DOCS] Fix windows action trigger
Give the artifact action the permission to trigger the windows installer action

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-05-21 14:42:49 -04:00
openshift-merge-bot[bot] d7d48705a4
Merge pull request #22669 from ashley-cui/act
[CI:DOCS] Trigger windows installer action properly
2024-05-14 12:22:33 +00:00
Ashley Cui 07ed2ddb93 [CI:DOCS] Use checkout@v4 in GH Actions
This change will minimize renovate PR's.
Checkout is an action maintained by GitHub, so using the latest v4 action shouldn't have stability consequences.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-05-13 10:34:42 -04:00
Ashley Cui 71473976ac [CI:DOCS] Trigger windows installer action properly
Add the needed GH_TOKEN for the windows action.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-05-10 16:27:45 -04:00
Chris Evich 8942e2dbda
GHA: Attempt fix exceeded a secondary rate limit
Frequent but intermittently, the stale issue and PR locking workflow
generates the error:

```
You have exceeded a secondary rate limit. Please wait a few minutes
before you try again. If you reach out to GitHub Support for help,
please include the request ID XYZ
```

According to upstream `dessant/lock-threads` issue 48, this seems to be
coming from the GitHub side (bug/feature/limitation), since the action
uses an official github API rate-limiting library.  It's unlikely related
to which style/syntax of github token is used, nor if the action is
executed concurrently across multiple repos.

According to the rate-limiting docs:
https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#about-secondary-rate-limits
it's possible the issue is caused due to an unknown aspect of the clause:

```
These secondary rate limits are subject to change without notice. You
may also encounter a secondary rate limit for undisclosed reasons.
```

The same docs indicate Github Apps have enhanced rate-limits which
scale with the org's repo count.  Attempt to fix the intermittent
failures by making use of a new, dedicated, org-specific, private "Stale
Locking App" I recently created.  This requires the addition of a new
action to the workflow that obtains a short-lived token for passing to
lock-threads.

Note: Because both `vars.STALE_LOCKING_APP_ID` and
`secrets.STALE_LOCKING_APP_PRIVATE_KEY` are defined at the
containers-organization level, the Buildah and Skopeo re-use
of this workflow should continue to function normally w/o change.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-04-30 12:01:42 -04:00
Ashley Cui c22eefb939 [CI:DOCS] Fix artifact action
Fix a bug where the check uploads section didn't actually mark the os/arch to be built.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-04-22 15:23:52 -04:00
Ashley Cui e7f0c1947e [CI:DOCS] Build & upload release artifacts with GitHub Actions
Add a new GitHub Action that builds and uploads release artifacts. This action is triggered by publishing a release on GitHub. The action will only build if the specfic artifact is missing.

This action also triggers the Windows installer action, since the Windows installer action depends on an uploaded artifact.

Note that the action runs on ubuntu-22.04

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-04-19 14:16:23 -04:00
Ashley Cui 713c026b4d [CI:DOCS] Fix windows installer action
We temporarily installed wixtoolset using chocolatey, when 3.14 wasn't in GHA yet. Now it's there by default, so remove the install. This prevents the downgrade error. Note: If we change the minir version of WiX that we use, then we may need to install wix again. But for now, removing this step will allow us to use the latest 3.14 patch.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-04-17 15:38:09 -04:00
Chris Evich 394820c4f0
Add big warning to GHA workflow
A simple file rename quickly broke the same workflow in both the Buildah
and Skopeo repos.  Add a big-fat warning comment to prevent this from
happening again.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-04-09 16:41:22 -04:00
Chris Evich 7f0268a2e7
GHA: Fix intermittent workflow error
Periodically, the discussion-lock workflow throws the error: `Resource
not accessible by integration`

This was identified in the
[upstream](https://github.com/dessant/lock-threads)
issue 47, as caused by a version-5 change that adds support for
management of discussions but requires additional permissions
and possibly settings.  Given the low notification traffic from
discussions, old discussions may remain valid for a long while, and are
a useful community-interface:  Disable management of discussions.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-04-09 11:19:08 -04:00
openshift-merge-bot[bot] 394be0b448
Merge pull request #22253 from ashley-cui/sitevers
[CI:DOCS] Add GitHub action to update version on Podman.io
2024-04-04 11:43:18 +00:00
Daniel J Walsh ff7a3dc355
Merge pull request #22191 from containers/renovate/dawidd6-action-send-mail-3.x
[skip-ci] Update dawidd6/action-send-mail action to v3.12.0
2024-04-03 15:55:32 -04:00
Ashley Cui 0f949d884c [CI:DOCS] Add GitHub action to update version on Podman.io
Introduce a new GitHub action that will update Podman.io to the newest version of Podman. This action will run on a release being published to GitHub, or by clicking the run workflow button on GitHub. The action will check if the release version is higher than the current version on the website, and open a PR to update the version if a PR does not already exist. The commit will be signed off by the user who triggered the action, so whoever creates the release or presses the run workflow button. The PR will be opened by the podmanbot GitHub account.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-04-03 12:15:35 -04:00
Jason T. Greene f3434298df Switch back to checking out the same branch the action script runs in
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-03-28 13:30:03 -05:00
renovate[bot] 4c2a44ef9b
[skip-ci] Update dawidd6/action-send-mail action to v3.12.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 23:22:18 +00:00
Jason T. Greene b1fd03f9f5 Fix type-o
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-03-19 13:27:42 -05:00
Ashley Cui 75fa38d52e [CI:BUILD] Build universal Podman binary for Mac installer
Build universal Podman binary and installer for Mac. Update GitHub action to build it too.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-03-07 09:09:32 -05:00
Ashley Cui ff81cf7c74 [CI:DOCS] Fix windows installer action
For some reason, the Windows image now doesn't have wix installed by default. Make sure to install it.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-03-06 11:03:27 -05:00
Chris Evich 69163af2a0
Remove gitleaks scanning
Ref:
https://github.com/containers/podman/pull/21570#issuecomment-1935709148

This tool is really intended/best used from git pre-commit on developers
local machines, to prevent addition of secret leaks.  When used as a
check against PRs, it tends to turn up more false-positives than helpful
warnings.  There's no good way to fix this, and maintaining the scanner
is an additional burden.  Rather than continue struggling to improve/fix
the situation, let's just remove the tool entirely.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-09 10:09:42 -05:00
openshift-merge-bot[bot] 356102b78d
Merge pull request #21495 from containers/renovate/github-issue-labeler-3.x
[skip-ci] Update github/issue-labeler action to v3.4
2024-02-09 14:50:41 +00:00
renovate[bot] d217de6424
[skip-ci] Update github/issue-labeler action to v3.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-02 23:24:07 +00:00
Chris Evich c5c0799329
Scan-secrets: Fix PR forcepush detection condition
I have no idea why the `event_name` != `github.event.action`, but in
this case it doesn't.  For consistency with other related condition
checks, use the later over the former.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-01 11:28:49 -05:00
Chris Evich 0a4beea6db
Scanning-secrets: Support new-branch/renovate link
Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-01 11:26:39 -05:00
Chris Evich 0e9b07a029
Secret-scanning: Fix newly-opened PR conditional
Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-01 10:25:12 -05:00
Chris Evich 28856b6c15
Make leak-detection readable by humans
Previously when a leak was detected under any circumstance, the workflow
would splat out a giant wall of gray, unreadable git-log text.  This often
enormous text might contain, somewhere, possibly, maybe, a little tiny
snippet of code that leaks a secret.

Improve the situation greatly by providing easy-to-use URLs that covers
the relevant changes based on the triggering context (new pr, force-push,
or merge).  Store the former (often) giant git-log output into a file
and stuff it into the artifacts in case it's ever useful.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-01-31 13:53:11 -05:00
renovate[bot] 6eca2f6519
[skip-ci] Update dawidd6/action-send-mail action to v3.11.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 00:51:23 +00:00
renovate[bot] 660778b2ee
[skip-ci] Update dawidd6/action-send-mail action to v3.10.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-20 15:11:30 +00:00
openshift-merge-bot[bot] be65b31046
Merge pull request #21018 from containers/renovate/actions-upload-artifact-4.x
[skip-ci] Update actions/upload-artifact action to v4
2024-01-19 10:56:10 +00:00
Colin Walters d7760b23cf labeler: Use `machine` label
Consensus was against area/ in
https://github.com/containers/podman/pull/21146

Signed-off-by: Colin Walters <walters@verbum.org>
2024-01-08 17:50:22 -05:00
Colin Walters 876b2207ee ci/labeler: Add area/machine label
Because I want to track this sub-area myself.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-01-03 14:04:26 -05:00
renovate[bot] 58edd06ff0
[skip-ci] Update actions/upload-artifact action to v4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 18:31:35 +00:00
openshift-merge-bot[bot] 289d6fed6c
Merge pull request #20925 from containers/renovate/actions-setup-go-5.x
[skip-ci] Update actions/setup-go action to v5
2023-12-08 14:26:26 +00:00
renovate[bot] cac4aa3b44
[skip-ci] Update actions/stale action to v9
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 13:19:55 +00:00
renovate[bot] 10db6442de
[skip-ci] Update actions/setup-go action to v5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 15:39:02 +00:00
Paul Holzinger 8d8fb726f3
fix broken labeler.yml config
Commit ca66a90b87 was merged without fixing the config. Please read
changelogs before merging renovate PRs, especially when it is a major
version bump.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-06 16:06:07 +01:00
renovate[bot] ca66a90b87
[skip-ci] Update actions/labeler action to v5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 15:24:36 +00:00
renovate[bot] 7b826b2306
[skip-ci] Update dessant/lock-threads action to v5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 06:24:16 +00:00
renovate[bot] 9cd975d59e
[skip-ci] Update github/issue-labeler action to v3.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 01:32:29 +00:00
openshift-ci[bot] 80a9f23f89
Merge pull request #20532 from containers/renovate/dawidd6-action-send-mail-3.x
[skip-ci] Update dawidd6/action-send-mail action to v3.9.0
2023-11-01 13:07:39 +00:00
Chris Evich 4c67a6aed2
Fix secrets scanning GHA Workflow
The podman in `ubuntu-latest` environment apparently is too old to
support `--userns=keep-id:uid=1000,gid=1000`.  Employ workaround in GHA
workflow and in `prebuild.sh` check.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-10-30 12:06:17 -04:00
renovate[bot] 2193bb8fcd
[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-10-30 15:43:25 +00:00
Chris Evich 1146f2ca78
Merge pull request #20136 from cevich/credential_scanning_config
[CI:DOCS] Implement secrets/credential scanning
2023-10-30 11:43:01 -04:00
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 6cb10425d4
Implement secrets/credential scanning
As an effort to catch potential secrets and/or credential leaks, add a
github-actions workflow which is untouchable in a PR context.
To additionally guard against accidents, also check recent branch
history.  This is especially important on newly created
release-branches, which may begin with content from who-knows-where.

Finally, since the new workflow bypasses PR-level changes to the scanner
config and base-line.  Add a Cirrus-CI invocation of the scanning tool
to help catch tool-breaking changes from being merged.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-10-05 11:16:19 -04:00