Commit Graph

578 Commits

Author SHA1 Message Date
Alex Lyn
3456483df9 Merge pull request #9513 from stevenhorsman/bump-stale-version
gha: stale: Bump stalebot version
2024-04-19 15:15:10 +08:00
Steve Horsman
6dd038fd58 Merge pull request #9501 from zvonkok/check-fixes
kata: Remove check for "Fixes" in PR
2024-04-18 17:48:50 +01:00
Hyounggyu Choi
2b9c439fcf Merge pull request #9508 from BbolroC/gha-s390x-k8s-label
gha: Make integration tests for s390x run on s390x-large runners
2024-04-18 18:05:01 +02:00
Hyounggyu Choi
49a0d57f66 gha: Make integration tests for s390x run on s390x-large runners
This is to make a workflow `run-k8s-tests` and `run-cri-containerd`
(s390x and zvsi) run only on the runners labeled by `s390x-large`.

Fixes: #9507

Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
2024-04-18 14:35:24 +02:00
stevenhorsman
cf5c3dc155 gha: stale: Bump stalebot version
- Bump the stalebot action version to v9 as that fixes the
```
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/stale@v8.
```
warning.

Fixes: #9512
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
2024-04-18 11:41:09 +01:00
Steve Horsman
bf16b18180 Merge pull request #9503 from stevenhorsman/stale-pr-remove-date
gha: stale: Remove the start-date
2024-04-18 09:36:27 +01:00
Hyounggyu Choi
e046f5e652 gha: Remove k8s-cri-containerd-rhel9-e2e-tests for s390x
This commit is simply to remove a CI workflow `k8s-cri-containerd-rhel9-e2e-tests`.

Fixes: #9504

Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
2024-04-17 15:36:42 +02:00
stevenhorsman
7235988605 gha: stale: Remove the start-date
As documented in https://github.com/actions/stale?tab=readme-ov-file#start-date
> The start date is used to ignore the issues and pull requests created before the start date.
> Particularly useful when you wish to add this stale workflow on an existing repository
> and only wish to stale the new issues and pull requests.

As we don't want need to treat PRs older than May 2023 as a special case, then remove this option.

Fixes: #9502
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
2024-04-17 11:19:56 +01:00
Zvonko Kaiser
395e93acd5 kata: Remove Issue - PR dependency
We've discussed this over and over. Let's try to get to an agreement here.
I will use this issue to remove the mandatory Issue - PR dependency.

Fixes: #9500

Signed-off-by: Zvonko Kaiser <zkaiser@nvidia.com>
2024-04-17 09:53:08 +00:00
Wainer dos Santos Moschetta
77541008fc gha: make run-kata-coco-tests inherit secrets
The new CoCo non-tee job introduced on commit 0d5399ba92 need to read secrets
like AZ_TENANT_ID, so run-kata-coco-tests workflow should inherit the secrets from
the caller workflow.

Fixes #9477
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
2024-04-15 10:53:44 -03:00
Hyounggyu Choi
32f58abfde Merge pull request #9403 from BbolroC/runtime-rs-ci-qemu
CI: Enable GHA cri-containerd workflow for runtime-rs with QEMU
2024-04-15 09:31:25 +02:00
Hyounggyu Choi
cf20a6a4ae gha: Add qemu-runtime-rs to VMM matrix for run-cri-containerd
This commit expands the VMM matrix for run-cri-containerd,
adding a new item `qemu-runtime-rs` for a test scenario where
the VMM is QEMU and runtime-rs is employed.
This expansion affects the workflows for both x86_64 and s390x platforms.

Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
2024-04-12 12:25:53 +02:00
Wainer dos Santos Moschetta
0d5399ba92 gha: Create CoCo tests jobs on non-TEE
Created the new run-k8s-tests-coco-nontee jobs for running CoCo tests on
non-TEE. It currently generates the run-k8s-tests-coco-nontee(qemu, nydus, guest-pull)
job only to run the guest-pull tests.

Fixes: #9410
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
2024-04-11 15:31:40 -03:00
Saul Paredes
51498ba99a genpolicy: toggle containerd pull in tests
- Add v1 image test case
- Install protobuf-compiler in build check
- Reset containerd config to default in kubernetes test if we are testing genpolicy
- Update docker_credential crate
- Add test that uses default pull method
- Use GENPOLICY_PULL_METHOD in test

Signed-off-by: Saul Paredes <saulparedes@microsoft.com>
2024-04-08 19:28:29 -07:00
Greg Kurz
934beb5ae4 Merge pull request #9421 from gkurz/bump-node-js-20
gha: Bump various actions to use Node.js 20
2024-04-08 18:22:28 +02:00
Greg Kurz
424a5e243f gha: Bump to actions/[down|up]load-artifact@v4 (all the rest)
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

This fixes all remaining sites.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:51 +02:00
Greg Kurz
dbc5dc7806 gha: Bump to actions/[down|up]load-artifact@v4 (k8s tests on garm)
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

As explained at [1] :

> The contents of an Artifact are uploaded together into an immutable
> archive. They cannot be altered by subsequent jobs. Both of these
> factors help reduce the possibility of accidentally corrupting
> Artifact files.

This means that artifacts cannot have the same name.

Adapt the `run-k8s-tests-on-garm` workflow accordingly by embedding all
the other `${{ vmm.* }}` fields and `${{ inputs.tag }}` in the artifact
names that would otherwise collide.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:51 +02:00
Greg Kurz
62a54ffa70 gha: Bump to actions/[down|up]load-artifact@v4 (kata static tarball)
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

As explained at [1] :

> The contents of an Artifact are uploaded together into an immutable
> archive. They cannot be altered by subsequent jobs. Both of these
> factors help reduce the possibility of accidentally corrupting
> Artifact files.

This means that artifacts cannot have the same name.

Adapt all `build-kata-static-tarball` workflows accordingly by
embedding `${{ matrix.asset }}` in the artifact names that would
otherwise collide.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:51 +02:00
Greg Kurz
7f2ce914a1 gha: Bump to actions/checkout@v4
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:50 +02:00
Greg Kurz
0a43d26c94 gha: Bump to docker/login-action@v3
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:50 +02:00
Greg Kurz
06c9c0d7db gha: Bump to docker/build-push-action@v5
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:50 +02:00
Greg Kurz
8c21844aef gha: Bump to docker/setup-buildx-action@v3
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:50 +02:00
Greg Kurz
03cbe6a011 gha: Bump to docker/setup-qemu-action@v3
`Node.js 19` is deprecated. Bump to a new version based on `Node.js 20`.

Fixes #9245

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-04-05 18:36:50 +02:00
Hyounggyu Choi
4493459937 GHA: Implement secondary GITHUB_WORKSPACE cleanup on 1st failure
Occasionally, the removal of GITHUB_WORKSPACE fails for self-hosted runners
because one of the subdirectories is not empty. This is likely due to another
process occupying the directory at the time.
Implementing a secondary cleanup resolves this issue.
This commit focuses on the implementation for the secondary cleanup.

Fixes: #9317

Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
2024-04-05 11:41:51 +02:00
Saul Paredes
8a92e81f98 gha: add GENPOLICY_PULL_METHOD
Add GENPOLICY_PULL_METHOD that will be used to test pulling
container images in genpolicy using the oci-distribution crate
and/or the containerd interface.

GENPOLICY_PULL_METHOD will start being used in a future PR.

Fixes: #9384

Signed-off-by: Saul Paredes <saulparedes@microsoft.com>
2024-04-02 19:03:28 -07:00
Greg Kurz
e1068da1a0 Merge pull request #9326 from gkurz/draft-release
Only tag and publish the release when it is fully ready
2024-03-27 15:59:59 +01:00
stevenhorsman
9aa675abb9 workflows: Build agent-opa for more archs
Since https://github.com/kata-containers/kata-containers/pull/7769, we support
building the OPA binary into the ppc64le and s390x arch versions of the rootfs,
so build the policy enabled agent to match for those architectures too.

Fixes: #9355
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
2024-03-26 17:02:14 +00:00
Greg Kurz
5009fabde4 release: Keep it draft until all artifacts have been published
The automated release workflow starts with the creation of the release in
GitHub. This is followed by the build and upload of the various artifacts,
which can be very long (like hours). During this period, the release appears
to be fully available in https://github.com/kata-containers/kata-containers/
even though it lacks all the artifacts. This might be confusing for users
or automation consuming the release.

Create the release as draft and clear the draft flag when all jobs are
done. This ensure that the release will only be tagged and made public
when it is fully usable.

If some job fails because of network timeout or any other transient
error, the correct action is to restart the failed jobs until they
eventually all succeed. This is by far the quicker path to complete
the release process.

If the workflow is *canceled* for some reason, the draft release is left
behind. A new run of the workflow will create a brand new draft release
with the same name (not an issue with GitHub). The draft release from
the previous run should be manually deleted. This step won't be automated
as it looks safer to leave the decision to a human.

[1] https://github.com/kata-containers/kata-containers/releases

Fixes #9064 - part VI

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-03-26 14:48:05 +01:00
Greg Kurz
e9e94d2dbd release: Give a pretty name to all steps
For a prettier rendering in the web UI.

Fixes #9064 - part VI

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-03-25 15:50:35 +01:00
Greg Kurz
dce6ea57b2 release: Simplify the create-new-release action of release.sh
Now that the version is an invariant for the entire workflow, it
isn't required to obtain it with an environment variable. Just
rely on the content of the `VERSION` file like other actions.

Fixes #9064 - part VI

Signed-off-by: Greg Kurz <groug@kaod.org>
2024-03-25 15:50:35 +01:00
Aurélien
192250c52e Merge pull request #9299 from sprt/sprt/mariner-normal-tests
ci: aks: also run tests in normal instance for Mariner
2024-03-19 11:34:20 -05:00
Hyounggyu Choi
f2bc819644 gha: Place pre-action on s390x runner for kata-deploy during release
This is to place a pre-action step for the kata-deploy job in order to
clean up the github workspace directory before checking out the repo.

Fixes: #9301

Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
2024-03-19 10:18:38 +01:00
Aurélien Bombo
71a1be9c57 ci: aks: also run tests in normal instance for Mariner
Currently we're only running the small instance tests. This adds the
normal instance tests as well.

Fixes: #9298

Signed-off-by: Aurélien Bombo <abombo@microsoft.com>
2024-03-18 23:33:17 +00:00
stevenhorsman
0ab8e61a64 release: Remove release type from arch release
Now we don't have minor and major releases and
we are now generating a new version
in the release workflow, we can
tidy up the arch specific releases workflows to remove
the extra required inputs

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
2024-03-18 12:27:57 +00:00
Fabiano Fidêncio
12578f11bc releases: Assume VERSION has the correct version to be released
This is done in order to avoid having to push a commit to the main
branch, which is against the defined rules on GitHub.

By doing this, we need to educate ourselves to always bump the VERSION
file as soon as a release is cut out.

As a side effect of this change, we can drop the release-major and
release-minor workflows, as those are not needed anymore.

Fixes: #9064 - part IV

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2024-03-16 13:30:58 +01:00
Amulyam24
3f4b24be8b gha: ensure that self hosted runner is prepared before running the workflow
This PR ensures that the self hosted runner is prepared by taking
necesary actions before running the workflow. The script prepare_runner.sh
checks the following:
1. Ensure that containerd/docker is up and running
2. Make sure that the repository workspace is cleaned up and has no conflicts
3. Remove/cleanup any leftover files from the previous runs

Fixes: #9262

Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
2024-03-13 14:20:10 +05:30
Steve Horsman
e9bbf2f67b Merge pull request #9203 from fidencio/topic/releases-follow-up-III
release: Ensure the release-type is passed to workflows
2024-03-08 14:09:36 +00:00
Fabiano Fidêncio
8faab965a7 gh: Fix payload-after-push tags
We now expect the arch specific images to be tagged as
kata-containers-latest-${arch}.

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2024-03-07 12:02:51 +00:00
Fabiano Fidêncio
658fb6972b release: Ensure the release-type is passed to workflows
We need to ensure the release type is passed down to workflows,
otherwise we'll fail to get the correct release version for tagging the
daemonset images.

Fixes: #9064 - part III

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2024-03-07 12:02:51 +00:00
Gabriela Cervantes
f902ee78d0 gha: Add collect artifacts step to nerdctl workflow
This PR adds the collect artifacts step to nerdctl workflow.

Fixes #9241

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2024-03-06 19:41:16 +00:00
GabyCT
4dea9019ab Merge pull request #9126 from GabyCT/topic/addartifactsk
gha: Storing artifacts for logs of k8s tests garm
2024-03-04 15:41:54 -06:00
Gabriela Cervantes
fc5e040d96 scripts: Apply general fixes to variables in gha-run script
This PR applies general fixes to variables in gha-run script.

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2024-03-04 18:54:15 +00:00
Gabriela Cervantes
7299dbdb43 gha: Store journalctl logs
This PR stores the journalctl logs.

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2024-03-01 15:17:20 +00:00
Gabriela Cervantes
342d3a320d gha: Add collect artifacts function in gha-run script
This PR adds the collect artifacts function in gha-run script for
the kubernetes tests.

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2024-03-01 15:17:20 +00:00
Gabriela Cervantes
2070e3481e gha: Storing artifacts for logs of k8s tests garm
This PR helps to store the artifacts for different logs for k8s tests
on garm.

Fixes #9103

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2024-03-01 15:17:20 +00:00
Wainer dos Santos Moschetta
4410df7233 gha: increase timeout of KBS steps
The step to deploy KBS on run-k8s-tests-on-aks workflow should be
increased so that there is enough time for checking the service is
healthy and exposed. Likewise the step that builds the kbs-client
which requires enough time to build the executable.

Fixes #9058
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
2024-02-29 22:05:58 -03:00
GabyCT
a4f5815f6b Merge pull request #9182 from GabyCT/topic/addclhcri
gha: Add cloud-hypervisor (runtime-rs) support to cri-containerd tests
2024-02-29 14:12:01 -06:00
Fabiano Fidêncio
c9dfe49152 gha: payload: Fix env var declarations
This was introduced by a45988766c, but
didn't follow the correct format for the env declaration.

Fixes: #9064 - part II

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2024-02-29 10:52:49 +01:00
Fabiano Fidêncio
1c3a769822 gha: payload: Don't use concurrency for this job
We want all payloads to be built and published, regardless if there's a
new PR merged.

This will help people to easily trace / debug issues.

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2024-02-29 10:52:45 +01:00
Fabiano Fidêncio
02af62b66c gha: payload: Stop generating payloads for the stable branches
We've decided to not maintain stable branches anymore, thus we can only
trigger this workflow for the `main` branch.

For more details, please, see:
https://github.com/kata-containers/kata-containers/issues/9064

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2024-02-29 10:42:25 +01:00