Commit graph

52 commits

Author SHA1 Message Date
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
OpenShift Merge Robot 914e9b3f70
Merge pull request #13564 from naveensrinivasan/naveen/feat/pin-actions
[CI:DOCS] Pin actions to a full length commit SHA
2022-03-28 22:44:12 +02:00
naveensrinivasan 1821eb3837 Pin actions to a full length commit SHA
- Pinned actions by SHA https://github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies
- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

>Pin actions to a full length commit SHA

>Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload.

https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions

Also dependabot supports upgrades based on SHA.

Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com>
2022-03-28 19:00:16 +00:00
naveensrinivasan 4408db3303 Updated dependabot to GitHub actions
- Updated dependabot to get updates for GitHub actions.

GitHub sends Dependabot alerts when we detect vulnerabilities affecting your repository
as well as when there are new updates to the dependency.

https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts

A vulnerability is a problem in a project's code that could be exploited to damage the confidentiality, integrity, or availability of the project or other projects that use its code. Vulnerabilities vary in type, severity, and method of attack.

When your code depends on a package that has a security vulnerability, this vulnerable dependency can cause a range of problems for your project or the people who use it.

Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com>
2022-03-19 03:15:16 +00:00
Paul Holzinger a928d39d0c github: label issues based on os fix regex
Good news the github action works, however I noticed that we cannot use
a multiline regex so we have to use serviceIsRemote to detect if this is
a remote client. Also change the os regex so that it matches both the
output of podman version and podman info.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2022-01-27 21:24:34 +01:00
Paul Holzinger 525bdc3771
github: label issues based on os
We get a lot of issues for podman-remote on macos. Since the fact that
this is a remote client is often overlooked by us lets add windows, macos
and remote label automatically based on a regex which should match the
output of podman version.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-01-27 17:51:35 +01:00
Chris Evich 72ddacdbe9
Github workflow: Fix parsing of GraphQL response JSON
While #12998 fixed the query string, it neglected to address
presence of the old `githubRepository` field name in the reply.  This
resulted in the job throwing an error:

`jq: error (at ./artifacts/reply.json:0): Cannot iterate over null`

However, the job did preserve an artifacts archive containing the new
response data.  As a test for the fix in this commit, I ran the
raw response data through the corrected jq command-line.  This
confirmed the change by properly parsing the data as expected by
the workflow.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-01-25 14:39:32 -05:00
OpenShift Merge Robot 7003d334e8
Merge pull request #12998 from cevich/fix_query
[CI:DOCS] Github workflow: Update Cirrus-cron GraphQL query
2022-01-25 13:51:43 -05:00
Chris Evich 6df245c6ec
Github-workflow: Fix YAML syntax
The `body` string value must be quoted because it contains a colon.

Also fix an incorrect URL substitution reference in error-notice e-mail
body text.

(In my defense...testing this workflow is basically impractical without
merging it)

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-01-25 12:39:17 -05:00
Chris Evich 29e89da1a2
Github workflow: Send e-mail on job error
This job is designed to be silent when Cirrus-cron executions pass.
Unless specifically instructed, the workflow itself will also remain
silent if there's an error.  Fix this by catching workflow errors and
sending a notification e-mail containing a link to the failed run.  This
also requires listing the recipient addresses directly in the workflow.
Otherwise (as previouslly implemented) the value would not be retrieved
if/when any previous step raised an error.

**Note**: Due to the way this workflow is implemented, there is no way
easy way to test it other than directly on the `main` repo. branch.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-01-24 15:41:50 -05:00
Chris Evich 0d42d9f8d1
Github workflow: Update Cirrus-cron GraphQL query
Sometime on Jan. 14th the GraphQL schema for Cirrus-CI changed, leading
to the following error:

`Validation error of type FieldUndefined: Field 'githubRepository' in
type 'Root' is undefined @ 'githubRepository'`

After some exploration, it was determined the field had been replaced
with a new root-level field `ownerRepository`.  Manual experimentation
revealed the scalar value `LINUX` was appropriate to use for the new
`platform` parameter.  The query reply appears to remain compatible.

Update the script which performs this query to use the new field name
and parameter.  ***NOTE*** This script is shared across multiple
containers-org repos. All of which are/were affected by the schema
change.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-01-24 15:25:47 -05:00
fredr 96be2bb3dc troubleshooting links to main branch
Signed-off-by: fredr <fredrik@enestad.com>
2022-01-14 12:29:13 +01:00
Giuseppe Scrivano 6cde9255f0
.github: revert to the old template
we are not using any of the metadata in the new format, so we have
only the downside that is more annoying to fill.

[CI:DOCS] no need to run the CI

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-12-16 15:23:39 +01:00
Chris Evich 0d4fa7bc97
Implement PR template to assist review & release
This duplicates the template used for buildah.  The intention
is to make it immediately clear to reviewers:

* The intended/basic purpose of the PR (also machine readable)
* Why are changes being proposed
* If there are any specific items need additional checking or scrutiny
* What should go into the release-notes (if anything).

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-09-28 12:20:03 -04:00
Chris Evich 32b5892164
Multi-arch image build: Daily version-tag push
This mirrors changes from
https://github.com/containers/buildah/pull/3381

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-07-27 14:15:25 -04:00
Chris Evich e64545004e
[CI:DOCS] Multi-arch image workflow: Make steps generic
This duplicates the change from
https://github.com/containers/skopeo/pull/1379

Since this workflow is duplicated across three repositories, maintaining
changes becomes onerous if the item contents vary between
implementations in any way. Improve this situation by encoding the
repository-specific details into env. vars. then referencing those vars
throughout. This way, a meaningful diff can be worked with to compare
the contents across repositories.

Also included are abstractions for the specific command used to obtain
the project version, and needed details for filtering the output. Both
of these vary across the Buildah, Skopeo, and Podman repos.

NOTE: This change requires the names of two github action secrets
to be updated: PODMAN_QUAY_USERNAME -> REPONAME_QUAY_USERNAME
(and *PASSWORD).

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-07-20 09:43:58 -04:00
Chris Evich fe044d51ea
Fix cirrus-cron failure notification GH workflow
The master->main rename broke this.  Also update the runtime along with
a comment w/ link to the actual job definitions.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-07-12 10:39:34 -04:00
Chris Evich 6b230bc924
Fix multi-arch image build clone:failure
A suspected recent change in docker (in github-actions Ubuntu
environment) results in a error:

```
cannot clone: Operation not permitted
Error: cannot re-exec process
```

Fix this by using podman to execute the container instead of docker.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-06-16 16:44:42 -04:00
Chris Evich 3c82059c3d
Sync. workflow across skopeo, buildah, and podman
Besides adding ***BIG FAT WARNING*** this commit updates the
containers-repo. logic to only (and properly) handle the `stable` image
(both version and `latest` tags).  This change was already discussed at
length with @TomSweeneyRedHat.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-05-21 14:39:01 -04:00
Stuart Shelton 60eb4e74d1 Use more recent stale release...
… as currently with `v1`, `remove-stale-when-updated` is set but isn't causing labels to be updated when comments are added.

Signed-off-by: Stuart Shelton <stuart@shelton.me>
2021-05-16 19:02:18 +01:00
Chris Evich 9db9fa2a08
Fix variable reference typo. in multi-arch image action
Bug introduced by #10150

Also, in case of failure of one matrix-leg, do not terminate execution
of all others.  There are many reasons why an item could fail (i.e.
temporary networking problem).  Since the job runs periodically,
we can simply allow the subsequent run to cover for any missed images
pushes due to sporadic job failures.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-05-03 10:56:34 -04:00
Chris Evich 00f2f7d14e
Fix multi-arch image workflow typo
Signed-off-by: Chris Evich <cevich@redhat.com>
2021-04-30 13:50:41 -04:00
Chris Evich 21bef6db6e
Update container image docs + fix unstable execution
Update the order of image documentation to be from most to least stable.
Similarly, avoid depending on execution of upstream podman, when
building/pushing.  It's easily possible for this build to function but
execution to fail due to some partially implemented feature.

Also, ensure images tagged `latest` are pushed for every matrix
item.  For 'upstream' and 'testing', this replaces use of the
'master' tag.

Lastly, update workflow comments and split the 'podman' and 'containers'
FQIN steps and outputs to improve readability.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-04-29 11:23:59 -04:00
OpenShift Merge Robot 633cc473b5
Merge pull request #10139 from rhatdan/troubleshoot
[CI:DOCS] Add troubleshooting advice about the --userns option.
2021-04-28 10:14:31 -04:00
Josh Berkus 166149b12d
Add troubleshooting advice about the --userns option.
Also a link to the troubleshooting guide into the issue template.

Replaces: https://github.com/containers/podman/pull/9770

Signed-off-by: Josh Berkus <josh@agliodbs.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-26 17:31:29 -04:00
Chris Evich 17c82caac4
Fix logic for pushing stable multi-arch images
The intention is to only push an image if there is ***NOT*** an existing
tag.  The original logic for this condition was inverted.

Also, improve radability of the `{container,podman}_push=true`
statements.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-04-26 14:12:42 -04:00
Chris Evich 1e98a95a0e
Several multi-arch image build/push fixes
* Fix not setting `$VERSION` before reference
* Reduce need for "syntax-hilighting workaround` comment.
  Simplify context-expressions -> simple env. var. referenmces
* Fix pushing quay.io/containers/podman:master twice
  ('upstream' and 'testing' matrix items)
* Throw error on unknown/unsupported matrix items
* Improve readability of setting multi-line `$LABELS` value.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-04-23 13:35:10 -04:00
Chris Evich 3c5bb7bf0f
Add github-action workflow to build/push multi-arch
This borrows very heavily from the work done for buildah by @barthy1 -
Yulia Gaponenko <yulia.gaponenko1@de.ibm.com>.  Some changes to code and
comments made for clarity and specificity.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-04-22 16:20:59 -04:00
Valentin Rothberg 1ca74b00d7 add a dependabot config to automate vendoring
While dependabot has turned out great to automate updating dependencies,
a major painpoint was that we had to manually run `make vendor` for each
and every commit.  It was causing noise.

Adding the config file to `.github/dependabot.yml` will take of also
updating the `./vendor` tree.  `containers/common` is using this config
for a while successfully.

[NO TESTS NEEDED]

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-18 15:18:13 +01:00
Chris Evich 6c75419a8f
Cirrus: Send cirrus-cron report e-mail to list.
This mailing-list was established to allow people to sub/unsub from
automated notifications.  Add it to the list of destinations picked up
by the Github Actions workflow
`.github/workflows/check_cirrus_cron.yml`.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-02-08 12:11:16 -05:00
Daniel J Walsh bf5d184325
Fix spelling mistakes
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-12-09 06:00:04 -05:00
Chris Evich 887f88c490
Github-Actions: Send e-mail on Cirrus cron failure
This repository has a number of automaticly triggered branch-level
testing enabled.  However, other than remembering to go look at a
specific WebUI, there is no way for anybody to notice if/when these jobs
fail.

This commit introduces a github-action workflow which runs periodically,
checking for failed cron-triggered Cirrus-CI jobs.  When it finds any, it
formats a simple report for e-mail delivery.  The list of destination
addresses is configurable at any time by merging changes to a
simple CSV file.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-11-18 15:34:01 -05:00
Valentin Rothberg 9d78203570 add a PR template
Add a pull-request template that points to the section in the
contributing guidelines and to remind users to use the `[CI:DOCS]`
prefix if applicable.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-11-04 11:02:37 +01:00
Ed Santiago e187423d2a Yet another iteration on PR title plugin
PR #8147 made things worse: it's not valid YAML. This at
least is valid YAML. I have no idea if it yields the
desired result, and we won't even know until it gets
merged, but at least it won't cause fatal syntax errors.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-10-26 13:44:59 -06:00
Valentin Rothberg 153531d435 pr update action: fix errors on master branch
The action fails on the master branch as the regex does not match.
The error in this scenario is unfortunate and not of much value as
we do not want to change PR titles on the master branch.

To fix it, entirely disable the action on the master branch which
in restrospective may be a better approach as we do not fire off the
action.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-10-26 13:09:20 +01:00
Valentin Rothberg b26a1085cd add GitHub action to add non-main branch to PR title
Add a GitHub action to add the name of the target branch as prefix to
the title of a pull request.  It is easy to miss the target of a given
pull request which has already caused issues of commits going into
non-main branches without intention.

We have already used this action on the `v2.0.5-rhel` branch with
limited success.  Fortunately, the upstream implemented our feature
request to support adding the _target_ branch name (rather than the
source) to the PR title, which is what we need.

Any non-main branch from this commit forward will now be clearly marked.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-10-25 11:34:37 +01:00
Valentin Rothberg 1921a82a91 update stale bot
Update the GitHub action to mark issues and PRs as stale.  There are a
couple of useful features, most importantly, the bot will remove the
stale label from issues as soon as there's either an activity or a
comment.

This reduces some manual overhead: the stale bot will only drop a
comment on issues and PRs that are not marked as stale.  Hence, as we
appreciated the reminders, we had to manually remove the label which
should now turn into campfire tales.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-09-22 11:16:40 +02:00
TomSweeneyRedHat edc7483e61 Add pointer to troubleshooting in issue template
Add pointers to the Troubleshooting guide, including a new
question that the reporter referenced it in the issue template
that's displayed on GitHub.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-08-14 17:45:20 -04:00
Valentin Rothberg 8094ee89ba github stale workflow: rephrase and bump close time
Rephrase the stale message to be friendlier and bump the closing time to
365 days.  The docs of the stale workflow do not indicate whether we can
not close, so a limit of 365 days seems fair.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-07 11:04:37 +01:00
Valentin Rothberg 7835b863f2 stale action: add exempt-issue-label
Without the label, issues would be closed regardless of the
"do-not-close" label.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-10-30 09:51:40 +01:00
Valentin Rothberg 52e5c4b460 GitHub stale action
Add a GitHub action to mark issues and PRs as stale and
to eventually close them after a grace period.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-10-28 20:35:34 +01:00
Lokesh Mandvekar be282c99cd Issue template update to include package info
Fixes: #3839

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2019-08-18 19:10:14 -04:00
Valentin Rothberg 8505c39d25 issue template: run podman info --debug
Ask users to run podman-info with `--debug` to the exact git commit,
compiler and go version.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-02-25 11:57:02 +01:00
W. Trevor King 3018e724c0 .github/ISSUE_TEMPLATE: Suggest '/kind bug' and '/kind feature'
So Prow's label plugin [1] can apply the appropriate label for us.

[1] https://github.com/kubernetes/test-infra/tree/master/prow/plugins/label

Signed-off-by: W. Trevor King <wking@tremily.us>
2019-01-08 21:07:53 -08:00
Daniel J Walsh 92b28a88d8
Vendor in latest containers/buildah
Switch from projectatomic/buildah to containers/buildah

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-09-18 17:20:30 -04:00
TomSweeneyRedHat 4310e5ccc2 Add Buildah Podman relationship to README.md
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2018-09-13 19:09:56 -04:00
TomSweeneyRedHat f0a3a4329e Add notes to check version on problem
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #1462
Approved by: rhatdan
2018-09-13 18:31:21 +00:00
Matthew Heon 6715bffaf6 Update issue template to point build bugs at buildah
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #1150
Approved by: rhatdan
2018-07-24 16:11:28 +00:00
TomSweeneyRedHat 5ca69aaa41 Add podman info to the issue template
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #455
Approved by: baude
2018-03-06 20:46:59 +00:00