Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

github: add support for building kata-static-tarball for ppc64le #5

Closed
wants to merge 54 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
c57df60
libs: fixes comparison to empty slice
beraldoleal Oct 31, 2023
afec547
libs: fixes dereferenced reference
beraldoleal Oct 31, 2023
84b5618
tests|gha: add internal nightly tests for s390x
BbolroC Sep 18, 2023
4d65c2e
runtime-rs: introduce `update_device` in trait Hypervisor
Apokleos Nov 14, 2023
38d2edd
utils: kata-manager: Allow installing kata from a given tarball
fidencio Nov 14, 2023
1699b84
utils: kata-manager: Remove $enable_debug from the install_kata call
fidencio Nov 14, 2023
d7594d8
runtime-rs: correct the path from cid to device_id.
Apokleos Nov 15, 2023
ba632ba
runitme-rs: kata with multi-containers sharing one direct volume
Apokleos Nov 15, 2023
79177bb
tests: Enable stressng scalability test
GabyCT Nov 10, 2023
4b7854b
stability: Add missing dependencies
GabyCT Nov 13, 2023
9d8eb29
metrics: Add iperf udp information to README
GabyCT Nov 15, 2023
9cc6908
stability: Update stressng to run on the gha
GabyCT Nov 13, 2023
8959e3c
gha: Keep kata tarballs for 15 days
ldoktor Nov 16, 2023
edb7913
Merge pull request #7987 from BbolroC/nightly-ci-s390x
fidencio Nov 16, 2023
26966c8
virtcontainers: Add StratoVirt as a supported hypervisor
WenyuanLau Aug 23, 2023
561c85b
build: Makefile for StratoVirt hypervisor
WenyuanLau Aug 23, 2023
9542211
configuration: add configuration for StratoVirt hypervisor.
WenyuanLau Aug 23, 2023
14d8790
kata-deploy: Add StratoVirt support to deploy process
WenyuanLau Sep 1, 2023
c77e990
tests: Enable tests for StratoVirt hypervisor
WenyuanLau Sep 13, 2023
10996f3
Merge pull request #8460 from ldoktor/artifacts
fidencio Nov 16, 2023
494174a
Merge pull request #8421 from GabyCT/topic/enablestressng
GabyCT Nov 16, 2023
8586308
Merge pull request #8453 from GabyCT/topic/udpreadme
GabyCT Nov 16, 2023
ffe1ea5
tests|gha: add containerd and k8s tests for s390x
BbolroC Sep 5, 2023
0c7aa1f
gha: Set nightly test for s390x to 5 UTC
BbolroC Nov 17, 2023
d6d9b45
Merge pull request #7931 from BbolroC/migrate-to-gha-s390x
fidencio Nov 17, 2023
f8322ff
Merge pull request #7796 from WenyuanLau/7794/StratoVirt_VMM_support
fidencio Nov 17, 2023
8ac9a22
runtime: Add hypervisor proto to support peer pod VMs
yoheiueda Feb 17, 2022
57d4dd8
runtime: Support the remote hypervisor type
yoheiueda Feb 17, 2022
50e0d43
runtime: Support privileged containers in peer pod VM
genjuro214 Jul 21, 2022
ad63439
runtime: Update the remote hypervisor config
stevenhorsman Dec 20, 2022
26d5667
config: Add initial remote hypervisor config
stevenhorsman Feb 22, 2023
2910e33
runtime: Use static resource in remote hypervisor
yoheiueda Apr 6, 2023
39e8c84
runtime: Add support for key annotations to remote hyp
bpradipt Jun 20, 2023
d5cf169
kata-deploy: Add missing kata-remote runtimeclass
fidencio Aug 5, 2023
ebf9d27
kata-deploy: Add remote shim
stevenhorsman Aug 24, 2023
1105743
Merge pull request #8345 from beraldoleal/issues/8343
gkurz Nov 17, 2023
1353b14
runtime: Add KataVirtualVolume struct in runtime
Aug 25, 2023
c305634
dragonball: Uniform the spelling of Virtio
justxuewei Nov 20, 2023
baf3db9
Dragonball: add PCI bus and PCI interrupt support in mptable Spec
studychao Nov 15, 2023
ee55897
fmt: refactor in pci & balloon
studychao Nov 17, 2023
c489f1f
kata-deploy: Set a default value for ALLOWED_HYPERVISOR_ANNOTATIONS
BbolroC Nov 20, 2023
b3318e5
Merge pull request #8332 from Apokleos/bugfix-directvol-multicontainers
studychao Nov 20, 2023
856315f
runtime-rs: bringing virtio-fs device in device-manager
Apokleos Nov 20, 2023
fe62e65
runtime-rs: Name the ShareFs Mount Option type more accurately
Apokleos Nov 20, 2023
506b127
Merge pull request #8478 from BbolroC/set-default-allowed_hypervisor_…
BbolroC Nov 20, 2023
41f3f6f
Merge pull request #8465 from justxuewei/rename-virtio
fidencio Nov 20, 2023
5ee8829
Merge pull request #8451 from openanolis/chao/pci
studychao Nov 20, 2023
728565d
Merge pull request #7046 from stevenhorsman/remote-hypervisor-cherry-…
wainersm Nov 20, 2023
8002de8
Merge pull request #8439 from fidencio/topic/kata-manager-install-a-g…
fidencio Nov 20, 2023
9445a96
Merge pull request #8471 from ChengyuZhu6/kata-virtual-volume
fidencio Nov 20, 2023
4fd2914
Merge pull request #7932 from Apokleos/wrap-virtiofs-in-dm
Apokleos Nov 21, 2023
08f3603
tools: fix static build of qemu and shimv2 on ppc64le
Amulyam24 Nov 16, 2023
d8a8cc4
tools: install oras from source on ppc64le
Amulyam24 Nov 16, 2023
0c894b0
github: add workflows for building and publishing kata artifacts on p…
Amulyam24 Nov 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/basic-ci-amd64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
fail-fast: false
matrix:
containerd_version: ['lts', 'active']
vmm: ['clh', 'qemu']
vmm: ['clh', 'qemu', 'stratovirt']
runs-on: garm-ubuntu-2204-smaller
env:
CONTAINERD_VERSION: ${{ matrix.containerd_version }}
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:
fail-fast: false
matrix:
containerd_version: ['lts', 'active']
vmm: ['clh', 'qemu']
vmm: ['clh', 'qemu', 'stratovirt']
runs-on: garm-ubuntu-2204-smaller
env:
CONTAINERD_VERSION: ${{ matrix.containerd_version }}
Expand Down Expand Up @@ -101,7 +101,7 @@ jobs:
fail-fast: false
matrix:
containerd_version: ['lts', 'active']
vmm: ['clh', 'qemu', 'dragonball']
vmm: ['clh', 'qemu', 'dragonball', 'stratovirt']
runs-on: garm-ubuntu-2204-smaller
env:
CONTAINERD_VERSION: ${{ matrix.containerd_version }}
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/build-kata-static-tarball-amd64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ jobs:
- qemu
- qemu-snp-experimental
- qemu-tdx-experimental
- stratovirt
- rootfs-image
- rootfs-image-tdx
- rootfs-initrd
Expand Down Expand Up @@ -107,7 +108,7 @@ jobs:
with:
name: kata-artifacts-amd64${{ inputs.tarball-suffix }}
path: kata-build/kata-static-${{ matrix.asset }}.tar.xz
retention-days: 1
retention-days: 15
if-no-files-found: error

create-kata-tarball:
Expand Down Expand Up @@ -136,5 +137,5 @@ jobs:
with:
name: kata-static-tarball-amd64${{ inputs.tarball-suffix }}
path: kata-static.tar.xz
retention-days: 1
retention-days: 15
if-no-files-found: error
5 changes: 3 additions & 2 deletions .github/workflows/build-kata-static-tarball-arm64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ jobs:
- kernel-dragonball-experimental
- nydus
- qemu
- stratovirt
- rootfs-image
- rootfs-initrd
- shim-v2
Expand Down Expand Up @@ -83,7 +84,7 @@ jobs:
with:
name: kata-artifacts-arm64${{ inputs.tarball-suffix }}
path: kata-build/kata-static-${{ matrix.asset }}.tar.xz
retention-days: 1
retention-days: 15
if-no-files-found: error

create-kata-tarball:
Expand Down Expand Up @@ -116,5 +117,5 @@ jobs:
with:
name: kata-static-tarball-arm64${{ inputs.tarball-suffix }}
path: kata-static.tar.xz
retention-days: 1
retention-days: 15
if-no-files-found: error
116 changes: 116 additions & 0 deletions .github/workflows/build-kata-static-tarball-ppc64le.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: CI | Build kata-static tarball for ppc64le
on:
workflow_call:
inputs:
stage:
required: false
type: string
default: test
tarball-suffix:
required: false
type: string
push-to-registry:
required: false
type: string
default: no
commit-hash:
required: false
type: string
target-branch:
required: false
type: string
default: ""

jobs:
build-asset:
runs-on: ppc64le
strategy:
matrix:
asset:
- kernel
- qemu
- rootfs-initrd
- shim-v2
- virtiofsd
stage:
- ${{ inputs.stage }}
steps:
- name: Adjust a permission for repo
run: |
sudo chown -R $USER:$USER $GITHUB_WORKSPACE

- name: Login to Kata Containers quay.io
if: ${{ inputs.push-to-registry == 'yes' }}
uses: docker/login-action@v2
with:
registry: quay.io
username: ${{ secrets.QUAY_DEPLOYER_USERNAME }}
password: ${{ secrets.QUAY_DEPLOYER_PASSWORD }}

- uses: actions/checkout@v4
with:
ref: ${{ inputs.commit-hash }}
fetch-depth: 0 # This is needed in order to keep the commit ids history

- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}

- name: Build ${{ matrix.asset }}
run: |
CROSS_BUILD=true ARCH=ppc64le TARGET_ARCH=ppc64le make "${KATA_ASSET}-tarball"
build_dir=$(readlink -f build)
# store-artifact does not work with symlink
sudo cp -r "${build_dir}" "kata-build"
sudo chown -R $(id -u):$(id -g) "kata-build"
env:
KATA_ASSET: ${{ matrix.asset }}
TAR_OUTPUT: ${{ matrix.asset }}.tar.gz
PUSH_TO_REGISTRY: ${{ inputs.push-to-registry }}
ARTEFACT_REGISTRY: ghcr.io
ARTEFACT_REGISTRY_USERNAME: ${{ github.actor }}
ARTEFACT_REGISTRY_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
TARGET_BRANCH: ${{ inputs.target-branch }}

- name: store-artifact ${{ matrix.asset }}
uses: actions/upload-artifact@v3
with:
name: kata-artifacts-ppc64le${{ inputs.tarball-suffix }}
path: kata-build/kata-static-${{ matrix.asset }}.tar.xz
retention-days: 1
if-no-files-found: error

create-kata-tarball:
runs-on: ppc64le
needs: build-asset
steps:
- name: Adjust a permission for repo
run: |
sudo chown -R $USER:$USER $GITHUB_WORKSPACE

- uses: actions/checkout@v4
with:
ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: get-artifacts
uses: actions/download-artifact@v3
with:
name: kata-artifacts-ppc64le${{ inputs.tarball-suffix }}
path: kata-artifacts
- name: merge-artifacts
run: |
./tools/packaging/kata-deploy/local-build/kata-deploy-merge-builds.sh kata-artifacts versions.yaml
- name: store-artifacts
uses: actions/upload-artifact@v3
with:
name: kata-static-tarball-ppc64le${{ inputs.tarball-suffix }}
path: kata-static.tar.xz
retention-days: 1
if-no-files-found: error
4 changes: 2 additions & 2 deletions .github/workflows/build-kata-static-tarball-s390x.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:
with:
name: kata-artifacts-s390x${{ inputs.tarball-suffix }}
path: kata-build/kata-static-${{ matrix.asset }}.tar.xz
retention-days: 1
retention-days: 15
if-no-files-found: error

create-kata-tarball:
Expand Down Expand Up @@ -113,5 +113,5 @@ jobs:
with:
name: kata-static-tarball-s390x${{ inputs.tarball-suffix }}
path: kata-static.tar.xz
retention-days: 1
retention-days: 15
if-no-files-found: error
47 changes: 47 additions & 0 deletions .github/workflows/ci-nightly-s390x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
on:
schedule:
- cron: '0 5 * * *'

name: Nightly CI for s390x
jobs:
check-internal-test-result:
runs-on: s390x
strategy:
fail-fast: false
matrix:
test_title:
- kata-vfio-ap-e2e-tests
steps:
- name: Fetch a test result for {{ matrix.test_title }}
run: |
file_name="${TEST_TITLE}-$(date +%Y-%m-%d).log"
/home/${USER}/script/handle_test_log.sh download $file_name
env:
TEST_TITLE: ${{ matrix.test_title }}

k8s-cri-containerd-rhel9-e2e-tests:
runs-on: s390x-rhel9
steps:
- name: Delete the existing files
run: |
sudo chown -R $USER:$USER $GITHUB_WORKSPACE
sudo rm -rf $GITHUB_WORKSPACE/*

- name: Take a pre-action for self-hosted runner
run: |
${HOME}/script/pre_action.sh rhel9-nightly

- name: Run k8s/cri-containerd e2e tests on RHEL9
run: |
export WORKSPACE=$GITHUB_WORKSPACE
export GITHUB_ACTION=""
bash ci_crio_entry_point.sh
env:
BAREMETAL: "true"
REPO_OWNER: "cri-o"
REPO_NAME: "cri-o"

- name: Take a post-action for self-hosted runner
if: always()
run: |
${HOME}/script/post_action.sh rhel9-nightly
57 changes: 57 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,44 @@ jobs:
target-branch: ${{ inputs.target-branch }}
secrets: inherit

build-kata-static-tarball-s390x:
uses: ./.github/workflows/build-kata-static-tarball-s390x.yaml
with:
tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}

publish-kata-deploy-payload-s390x:
needs: build-kata-static-tarball-s390x
uses: ./.github/workflows/publish-kata-deploy-payload-s390x.yaml
with:
tarball-suffix: -${{ inputs.tag }}
registry: ghcr.io
repo: ${{ github.repository_owner }}/kata-deploy-ci
tag: ${{ inputs.tag }}-s390x
commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}
secrets: inherit

build-kata-static-tarball-ppc64le:
uses: ./.github/workflows/build-kata-static-tarball-ppc64le.yaml
with:
tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}

publish-kata-deploy-payload-ppc64le:
needs: build-kata-static-tarball-ppc64le
uses: ./.github/workflows/publish-kata-deploy-payload-ppc64le.yaml
with:
tarball-suffix: -${{ inputs.tag }}
registry: ghcr.io
repo: ${{ github.repository_owner }}/kata-deploy-ci
tag: ${{ inputs.tag }}-ppc64le
commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}
secrets: inherit

build-and-publish-tee-confidential-unencrypted-image:
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -152,6 +190,17 @@ jobs:
pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}

run-k8s-tests-on-zvsi:
needs: [publish-kata-deploy-payload-s390x, build-and-publish-tee-confidential-unencrypted-image]
uses: ./.github/workflows/run-k8s-tests-on-zvsi.yaml
with:
registry: ghcr.io
repo: ${{ github.repository_owner }}/kata-deploy-ci
tag: ${{ inputs.tag }}-s390x
commit-hash: ${{ inputs.commit-hash }}
pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}

run-metrics-tests:
needs: build-kata-static-tarball-amd64
uses: ./.github/workflows/run-metrics.yaml
Expand All @@ -167,3 +216,11 @@ jobs:
tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}

run-cri-containerd-tests-s390x:
needs: build-kata-static-tarball-s390x
uses: ./.github/workflows/run-cri-containerd-tests-s390x.yaml
with:
tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}
24 changes: 22 additions & 2 deletions .github/workflows/payload-after-push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,14 @@ jobs:
push-to-registry: yes
target-branch: ${{ github.ref_name }}
secrets: inherit

build-assets-ppc64le:
uses: ./.github/workflows/build-kata-static-tarball-ppc64le.yaml
with:
commit-hash: ${{ github.sha }}
push-to-registry: yes
target-branch: ${{ github.ref_name }}
secrets: inherit

publish-kata-deploy-payload-amd64:
needs: build-assets-amd64
Expand Down Expand Up @@ -68,9 +76,20 @@ jobs:
target-branch: ${{ github.ref_name }}
secrets: inherit

publish-kata-deploy-payload-ppc64le:
needs: build-assets-ppc64le
uses: ./.github/workflows/publish-kata-deploy-payload-ppc64le.yaml
with:
commit-hash: ${{ github.sha }}
registry: quay.io
repo: kata-containers/kata-deploy-ci
tag: kata-containers-ppc64le
target-branch: ${{ github.ref_name }}
secrets: inherit

publish-manifest:
runs-on: ubuntu-latest
needs: [publish-kata-deploy-payload-amd64, publish-kata-deploy-payload-arm64, publish-kata-deploy-payload-s390x]
needs: [publish-kata-deploy-payload-amd64, publish-kata-deploy-payload-arm64, publish-kata-deploy-payload-s390x, publish-kata-deploy-payload-ppc64le]
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand All @@ -87,5 +106,6 @@ jobs:
docker manifest create quay.io/kata-containers/kata-deploy-ci:kata-containers-latest \
--amend quay.io/kata-containers/kata-deploy-ci:kata-containers-amd64 \
--amend quay.io/kata-containers/kata-deploy-ci:kata-containers-arm64 \
--amend quay.io/kata-containers/kata-deploy-ci:kata-containers-s390x
--amend quay.io/kata-containers/kata-deploy-ci:kata-containers-s390x \
--amend quay.io/kata-containers/kata-deploy-ci:kata-containers-ppc64le
docker manifest push quay.io/kata-containers/kata-deploy-ci:kata-containers-latest
Loading
Loading