From b8c441868fc296297421e91c8fa8a89caf42c505 Mon Sep 17 00:00:00 2001 From: efiacor Date: Mon, 19 Feb 2024 09:01:05 +0000 Subject: [PATCH 1/7] Add porch e2e gh action --- .github/workflows/porch-e2e.yaml | 71 ++++++++++++++++++++++++++++++++ Makefile | 1 + scripts/create-deployment-kpt.sh | 15 +++++-- 3 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/porch-e2e.yaml diff --git a/.github/workflows/porch-e2e.yaml b/.github/workflows/porch-e2e.yaml new file mode 100644 index 00000000..b0ba55f0 --- /dev/null +++ b/.github/workflows/porch-e2e.yaml @@ -0,0 +1,71 @@ +# Copyright 2024 The Nephio Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Porch End-to-End Tests +on: + push: + paths-ignore: + - "docs/**" + - "release/**" + - "deployments/**" + pull_request: + paths-ignore: + - "docs/**" + - "release/**" + - "deployments/**" + +jobs: + tests: + name: Porch End-to-End Tests + runs-on: ubuntu-latest + + steps: + - name: Free up disk space + run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" + - name: Checkout Porch + uses: actions/checkout@v3 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: '>=1.21.5' + - name: Setup kubectl + uses: azure/setup-kubectl@v3 + - name: Install kpt + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: + repo: kptdev/kpt + tag: v1.0.0-beta.49 + rename-to: kpt + chmod: 0755 + - name: Create k8s Kind Cluster + uses: helm/kind-action@v1 + with: + cluster_name: kind + - name: Build Images and Deploy porch kpt pkg + run: IMAGE_REPO=porch-kind IMAGE_TAG=${GITHUB_SHA:0:8} make run-in-kind-kpt + - name: e2e test + run: E2E=1 go test -v -timeout 20m ${GITHUB_WORKSPACE}/test/e2e + # - name: Porch CLI e2e test + # run: make test-porch + - name: Export porch server logs + if: always() + run: | + name=$(kubectl -n porch-system get pod -l app=porch-server -o custom-columns=NAME:.metadata.name --no-headers=true) + kubectl -n porch-system logs $name > porch-e2e-server.log + - name: Archive logs + if: always() + uses: actions/upload-artifact@v3 + with: + name: porch-e2e-server.log + path: porch-e2e-server.log diff --git a/Makefile b/Makefile index 3723f24b..344b1fd8 100644 --- a/Makefile +++ b/Makefile @@ -309,6 +309,7 @@ deployment-config-kpt: --controllers-image "$(IMAGE_REPO)/$(PORCH_CONTROLLERS_IMAGE):$(IMAGE_TAG)" \ --function-image "$(IMAGE_REPO)/$(PORCH_FUNCTION_RUNNER_IMAGE):$(IMAGE_TAG)" \ --wrapper-server-image "$(IMAGE_REPO)/$(PORCH_WRAPPER_SERVER_IMAGE):$(IMAGE_TAG)" \ + --test-git-server-image "$(IMAGE_REPO)/$(TEST_GIT_SERVER_IMAGE):${IMAGE_TAG}" \ --enabled-reconcilers "$(ENABLED_RECONCILERS)" \ --kind-context "$(KIND_CONTEXT_NAME)" diff --git a/scripts/create-deployment-kpt.sh b/scripts/create-deployment-kpt.sh index 7561d0d4..31fbeaeb 100755 --- a/scripts/create-deployment-kpt.sh +++ b/scripts/create-deployment-kpt.sh @@ -28,6 +28,7 @@ Supported Flags: --controllers-image IMAGE ... address of the Porch controllers image --function-image IMAGE ... address of the Porch function runtime image --wrapper-server-image IMAGE ... address of the Porch function wrapper server image + --test-git-server-image ... address of the test git server image --enabled-reconcilers RECONCILERS ... comma-separated list of reconcilers that should be enabled in porch controller EOF exit 1 @@ -67,6 +68,11 @@ while [[ $# -gt 0 ]]; do shift 2 ;; + --test-git-server-image) + TEST_GIT_SERVER_IMAGE="${2}" + shift 2 + ;; + --enabled-reconcilers) ENABLED_RECONCILERS="${2}" shift 2 @@ -116,6 +122,7 @@ function load-custom-images { kind load docker-image ${CONTROLLERS_IMAGE} -n ${KIND_CONTEXT_NAME} kind load docker-image ${FUNCTION_IMAGE} -n ${KIND_CONTEXT_NAME} kind load docker-image ${WRAPPER_SERVER_IMAGE} -n ${KIND_CONTEXT_NAME} + kind load docker-image ${TEST_GIT_SERVER_IMAGE} -n ${KIND_CONTEXT_NAME} } function main() { @@ -137,19 +144,19 @@ function main() { done customize-pkg-images \ - "porch-server:latest" \ + "porch-server:v2.0.0" \ "${SERVER_IMAGE}" customize-pkg-images \ - "porch-controllers:latest" \ + "porch-controllers:v2.0.0" \ "${CONTROLLERS_IMAGE}" customize-pkg-images \ - "porch-function-runner:latest" \ + "porch-function-runner:v2.0.0" \ "${FUNCTION_IMAGE}" customize-pkg-images \ - "porch-wrapper-server:latest" \ + "porch-wrapper-server:v2.0.0" \ "${WRAPPER_SERVER_IMAGE}" deploy-porch-dev-pkg From 399e7cc35c9aca957b4a10608f6eca19b9b6d126 Mon Sep 17 00:00:00 2001 From: efiacor Date: Mon, 19 Feb 2024 09:54:13 +0000 Subject: [PATCH 2/7] Drop compression on log artefact --- .github/workflows/porch-e2e.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/porch-e2e.yaml b/.github/workflows/porch-e2e.yaml index b0ba55f0..f04378c9 100644 --- a/.github/workflows/porch-e2e.yaml +++ b/.github/workflows/porch-e2e.yaml @@ -69,3 +69,4 @@ jobs: with: name: porch-e2e-server.log path: porch-e2e-server.log + compression-level: 0 From ef2993fdba57ac5986880c9b64ad236813a3ec17 Mon Sep 17 00:00:00 2001 From: efiacor Date: Mon, 19 Feb 2024 14:17:45 +0000 Subject: [PATCH 3/7] Update workflow entries --- .github/workflows/porch-e2e.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/porch-e2e.yaml b/.github/workflows/porch-e2e.yaml index f04378c9..5e58373c 100644 --- a/.github/workflows/porch-e2e.yaml +++ b/.github/workflows/porch-e2e.yaml @@ -46,7 +46,6 @@ jobs: with: repo: kptdev/kpt tag: v1.0.0-beta.49 - rename-to: kpt chmod: 0755 - name: Create k8s Kind Cluster uses: helm/kind-action@v1 @@ -65,7 +64,7 @@ jobs: kubectl -n porch-system logs $name > porch-e2e-server.log - name: Archive logs if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: porch-e2e-server.log path: porch-e2e-server.log From d7fe1ad65ac555695d9fd12a9fb6a3ab192a6f9e Mon Sep 17 00:00:00 2001 From: Fiachra Corcoran Date: Tue, 20 Feb 2024 16:11:44 +0000 Subject: [PATCH 4/7] Update .github/workflows/porch-e2e.yaml Co-authored-by: Victor Morales --- .github/workflows/porch-e2e.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/porch-e2e.yaml b/.github/workflows/porch-e2e.yaml index 5e58373c..a3c92038 100644 --- a/.github/workflows/porch-e2e.yaml +++ b/.github/workflows/porch-e2e.yaml @@ -34,7 +34,7 @@ jobs: - name: Free up disk space run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Checkout Porch - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v3 with: From c580266b5abea9477883e5e7a4e95dfc7f2b8cf7 Mon Sep 17 00:00:00 2001 From: Fiachra Corcoran Date: Tue, 20 Feb 2024 16:11:50 +0000 Subject: [PATCH 5/7] Update .github/workflows/porch-e2e.yaml Co-authored-by: Victor Morales --- .github/workflows/porch-e2e.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/porch-e2e.yaml b/.github/workflows/porch-e2e.yaml index a3c92038..71a3a34d 100644 --- a/.github/workflows/porch-e2e.yaml +++ b/.github/workflows/porch-e2e.yaml @@ -36,7 +36,7 @@ jobs: - name: Checkout Porch uses: actions/checkout@v4 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: '>=1.21.5' - name: Setup kubectl From 46ca14e89f5fce450b29ba915c82c4582ed20916 Mon Sep 17 00:00:00 2001 From: Fiachra Corcoran Date: Tue, 20 Feb 2024 16:11:56 +0000 Subject: [PATCH 6/7] Update .github/workflows/porch-e2e.yaml Co-authored-by: Victor Morales --- .github/workflows/porch-e2e.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/porch-e2e.yaml b/.github/workflows/porch-e2e.yaml index 71a3a34d..4a410d07 100644 --- a/.github/workflows/porch-e2e.yaml +++ b/.github/workflows/porch-e2e.yaml @@ -40,7 +40,7 @@ jobs: with: go-version: '>=1.21.5' - name: Setup kubectl - uses: azure/setup-kubectl@v3 + uses: azure/setup-kubectl@v4 - name: Install kpt uses: jaxxstorm/action-install-gh-release@v1.10.0 with: From b0f84b6d90a6a754edfa605c0d20083564c9419b Mon Sep 17 00:00:00 2001 From: Fiachra Corcoran Date: Tue, 20 Feb 2024 16:17:45 +0000 Subject: [PATCH 7/7] Update porch-e2e.yaml --- .github/workflows/porch-e2e.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/porch-e2e.yaml b/.github/workflows/porch-e2e.yaml index 4a410d07..71a3a34d 100644 --- a/.github/workflows/porch-e2e.yaml +++ b/.github/workflows/porch-e2e.yaml @@ -40,7 +40,7 @@ jobs: with: go-version: '>=1.21.5' - name: Setup kubectl - uses: azure/setup-kubectl@v4 + uses: azure/setup-kubectl@v3 - name: Install kpt uses: jaxxstorm/action-install-gh-release@v1.10.0 with: