Commit Graph

82 Commits

Author SHA1 Message Date
Paul Holzinger 3de409ad6a
github: remove prefix from bugs/features
We already label the issue anyway and this results in reports without
an actual title so remove it. This leaves more space for an actual
useful title.

ref: https://github.com/containers/podman/discussions/17431

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-02-08 18:20:12 +01:00
Chris Evich 50f72fe7b1
[CI:BUILD] Cirrus: Fix GraphQL ownerRepository:null error
A semantic change to a Cirrus-CI GraphQL API parameter caused a
unit-test to fail (as it should have) with the error:

```
Query result did not pass filter '.data.ownerRepository.cronSettings':
'{"data":{"ownerRepository":null}}'
```

As per Cirrus-support, a change was introduced in schema affecting certain
fields that were incorrectly marked Nullable.  They indicated the `platform`
field was set incorrectly, and should use the value `github`.

* Fix the platform field's value to `github` instead of `LINUX`.
* Change the unit-test to only execute as part of the 'main' cirrus-cron
  job so it cannot impact PRs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-06 15:57:51 -05:00
salevdns a1436d8fb5
Update bug_report.yaml
Render "podman info output" in YAML for better readability.

Signed-off-by: salevdns <24809481+salevdns@users.noreply.github.com>
2023-02-02 16:45:04 +01:00
OpenShift Merge Robot 2dcf6b1b18
Merge pull request #16572 from mohanboddu/issue_templates
Update the issue templates
2023-01-03 10:25:40 -05: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
Mohan Boddu 2b6cf1d072 Update the issue templates
Adding "Bug Report" and "Feature Request" templates, this will
help with filing the tickets and also finding the information
once filed.

Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2022-11-30 14:06:29 -05:00
Daniel J Walsh f17479c711
Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-28 15:13:43 -05:00
Michael Vorburger ⛑️ fad50a9f2e
chore: Fix MD for Troubleshooting Guide link in GitHub Issue Template
Signed-off-by: Michael Vorburger ⛑️ <mike@vorburger.ch>
2022-11-25 23:06:28 +01: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 dca407d466
GHA: Fix typo setting output parameter
Ref:
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-10 12:59:11 -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 66d857cdd7
GHA: Update scripts to pass shellcheck
Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-07 11:47:29 -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
Kirk Bater a2581abbf9 Adds brew info podman to issue template.
Just a quick little addition to provide the command to get the package
info from brew for those who might not know.

Signed-off-by: Kirk Bater <kirk.bater@gmail.com>
2022-09-30 14:30:56 -04: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
Valentin Rothberg bcfbee9862 ISSUE TEMPLATE: remove `--debug` from `podman info`
`--debug` is a NOP and will be hidden in a later commit.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:14:56 +02:00
Chris Evich d95e79ebe3
GHA: Fix dumb error check
Previously the reply JSON was examined for the literal presence of the
string 'error'.  This was intended to catch server or query errors and
the like.  However it's not a sound design as valid/legitimate contents
could potentially contain the string.  Fix this by using the `-e` option
to `jq`, with a filter that should always result in a non-empty/null
match.  If this fails or returns null for some reason, then it's safe to
throw a real error code & message.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-07-14 14:42:59 -04:00
tomsweeneyredhat 1fc5a107a0 [CI:DOCS] PodmanImage Readme touchup
@cevich recently renamed all the files named Dockerfile to Containerfile
in this directory.  Touching up the README.md to reflect that.

Also, as I was doing the submit, I noticed a couple of nits in the PR
request template and cleaned those up.

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2022-06-04 15:19:09 -04:00
Ed Santiago c632a2efcd dependabot: add release-note-none label
Followup to https://github.com/openshift/release/pull/28686
in which we ask openshift-ci-bot to enforce a release-note
label on new PRs.

Dependabot PRs do not need release notes. Add a config setting
(copied from cri-o) that tells dependabot to set release-note-none
on new PRs.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-05-17 13:55:01 -06:00
Paul Holzinger f6b397bf1e
add dependabot config for test/tools go.mod
dependabot should update out test dependencies as well.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-04 17:11:50 +02:00
Ed Santiago 461b73f563 Github PR template: add release-note block
Initial step toward automating the collection & generation
of release notes: add a markdown release-note block to our
PR template. This will be reaped by an existing Kubernetes
tool and gathered into a document that can be used as a
starting point for future releases.

Many more followup steps to come.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-04-27 13:28:34 -06: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
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