From 21f609f11204e43c2474f90013606894ca0ba60e Mon Sep 17 00:00:00 2001 From: Kartik Joshi Date: Thu, 1 Feb 2024 13:54:25 +0530 Subject: [PATCH] Provisioner: Add kbs provisioning steps in CI Fixes: #1676 Signed-off-by: Kartik Joshi --- .github/workflows/azure-e2e-test.yml | 43 +++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/.github/workflows/azure-e2e-test.yml b/.github/workflows/azure-e2e-test.yml index e2e781bc56..92e2be9195 100644 --- a/.github/workflows/azure-e2e-test.yml +++ b/.github/workflows/azure-e2e-test.yml @@ -20,6 +20,12 @@ on: caa-image: type: string description: prebuilt caa image + kbs-image-id: + type: string + description: prebuild kbs image + kbs-image-tag: + type: string + description: prebuild kbs image tag jobs: generate-podvm-image-version: @@ -108,10 +114,18 @@ jobs: with: go-version: ${{ env.GO_VERSION }} + - name: Extract provisioner environment + run: | + echo "KBS_IMAGE=$(yq -e '.image.kbs.registry' versions.yaml)" >> "$GITHUB_ENV" + echo "KBS_IMAGE_TAG=$(yq -e '.image.kbs.tag' versions.yaml)" >> "$GITHUB_ENV" + + - name: Create provisioner file env: AZURE_IMAGE_ID: ${{ github.event.inputs.podvm-image-id || format('/CommunityGalleries/{0}/images/{1}/Versions/{2}', vars.AZURE_COMMUNITY_GALLERY_NAME, vars.AZURE_PODVM_IMAGE_DEF_NAME, needs.generate-podvm-image-version.outputs.image-version) }} CAA_IMAGE: "${{ github.event.inputs.caa-image || needs.build-caa-container-image.outputs.caa-image }}" + KBS_IMAGE: ${{ github.event.inputs.kbs-image-id || env.KBS_IMAGE }} + KBS_IMAGE_TAG: ${{ github.event.inputs.kbs-image-tag || env.KBS_IMAGE_TAG}} run: | cat << EOF > ${{ env.TEST_PROVISION_FILE }} AZURE_SUBSCRIPTION_ID="${{ secrets.AZURE_SUBSCRIPTION_ID }}" @@ -124,6 +138,8 @@ jobs: IS_CI_MANAGED_CLUSTER="true" MANAGED_IDENTITY_NAME="${{ secrets.AZURE_MANAGED_IDENTITY_NAME}}" CAA_IMAGE="${CAA_IMAGE}" + KBS_IMAGE="${KBS_IMAGE}" + KBS_IMAGE_TAG="${KBS_IMAGE_TAG}" EOF cat ${{ env.TEST_PROVISION_FILE }} @@ -158,10 +174,10 @@ jobs: run-e2e-test: runs-on: ubuntu-latest needs: - - build-podvm-image - - build-caa-container-image - - install-aks - - generate-podvm-image-version + - build-podvm-image + - build-caa-container-image + - install-aks + - generate-podvm-image-version if: always() && !cancelled() && needs.build-podvm-image.result != 'failure' steps: - uses: actions/checkout@v3 @@ -193,6 +209,25 @@ jobs: test -n "$SUBNET_ID" echo "AZURE_SUBNET_ID=\"${SUBNET_ID}\"" >> "$TEST_PROVISION_FILE" + - name: Checkout kbs Repository + uses: actions/checkout@v2 + with: + repository: confidential-containers/kbs + ref: main + path: test/e2e/kbs + + - name: Extract kbs commit id + run: echo "KBS_VERSION=$(yq -e '.git.kbs.reference' versions.yaml)" >> "$GITHUB_ENV" + + - name: Move to compatible kbs version + env: + KBS_VERSION: ${{ env.KBS_VERSION }} + run: | + pushd test/e2e/kbs + git fetch origin "${KBS_VERSION}" + git reset --hard "${KBS_VERSION}" + popd + - name: Run e2e test env: TEST_PROVISION: "no"