From e1fde3648c9805016d30673f856360ef17d437b5 Mon Sep 17 00:00:00 2001 From: Mansur Uralov Date: Thu, 11 Jan 2024 15:56:22 +0100 Subject: [PATCH] Get rid of KLM dependency * Execute e2e and upgrade tests without KLM * Rename GH action workflows accordingl --- ...ifecycle-manager.yml => pull-e2e-test.yml} | 2 +- ...anager.yaml => pull-e2e-upgrade-test.yaml} | 74 +------ .github/workflows/push-e2e-upgrade-test.yaml | 98 ++++++++++ .../push-with-lifecycle-manager.yaml | 183 ------------------ 4 files changed, 103 insertions(+), 254 deletions(-) rename .github/workflows/{pull-without-lifecycle-manager.yml => pull-e2e-test.yml} (98%) rename .github/workflows/{pull-with-lifecycle-manager.yaml => pull-e2e-upgrade-test.yaml} (52%) create mode 100644 .github/workflows/push-e2e-upgrade-test.yaml delete mode 100644 .github/workflows/push-with-lifecycle-manager.yaml diff --git a/.github/workflows/pull-without-lifecycle-manager.yml b/.github/workflows/pull-e2e-test.yml similarity index 98% rename from .github/workflows/pull-without-lifecycle-manager.yml rename to .github/workflows/pull-e2e-test.yml index a51c9cd4..937de845 100644 --- a/.github/workflows/pull-without-lifecycle-manager.yml +++ b/.github/workflows/pull-e2e-test.yml @@ -1,4 +1,4 @@ -name: pull-without-lifecycle-manager +name: pull-e2e-test env: DOCKER_IMAGE: europe-docker.pkg.dev/kyma-project/dev/nats-manager:PR-${{ github.event.number }} diff --git a/.github/workflows/pull-with-lifecycle-manager.yaml b/.github/workflows/pull-e2e-upgrade-test.yaml similarity index 52% rename from .github/workflows/pull-with-lifecycle-manager.yaml rename to .github/workflows/pull-e2e-upgrade-test.yaml index aef54da5..0e21a095 100644 --- a/.github/workflows/pull-with-lifecycle-manager.yaml +++ b/.github/workflows/pull-e2e-upgrade-test.yaml @@ -1,4 +1,4 @@ -name: pull-with-lifecycle-manager +name: pull-e2e-upgrade-test env: DOCKER_IMAGE: europe-docker.pkg.dev/kyma-project/dev/nats-manager:PR-${{ github.event.number }} @@ -15,7 +15,7 @@ on: - 'sec-scanners-config.yaml' jobs: - e2e: + e2e-upgrade: # This job tests the upgrade of NATS module from latest image of the main branch to the current commit. runs-on: ubuntu-latest steps: - name: Checkout @@ -32,76 +32,10 @@ jobs: kubectl version kubectl cluster-info - - name: Wait for the 'pull-nats-manager-build' job to succeed - uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 - with: - context: "pull-nats-manager-build" - commit_ref: "${{ github.event.pull_request.head.sha }}" # Note: 'github.event.pull_request.head.sha' is not same as 'github.sha' on pull requests. - timeout: 600000 # 10 minutes in milliseconds - # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) - check_interval: 60000 # 1 minute in milliseconds - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - GITHUB_OWNER: "${{ github.repository_owner }}" - GITHUB_REPO: "nats-manager" - - - name: Wait for the 'pull-nats-module-build' job to succeed - id: wait-nats-module-build - uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 - with: - context: "pull-nats-module-build" - commit_ref: "${{ github.event.pull_request.head.sha }}" # Note: 'github.event.pull_request.head.sha' is not same as 'github.sha' on pull requests. - timeout: 600000 # 10 minutes in milliseconds - # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) - check_interval: 60000 # 1 minute in milliseconds - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - GITHUB_OWNER: "${{ github.repository_owner }}" - GITHUB_REPO: "nats-manager" - - - name: Install the NATS manager from current commit - run: | - make -C hack/ci/ create-kyma-system-ns - make deploy IMG=${DOCKER_IMAGE} - - - name: Setup & test NATS CR - run: | - make e2e-setup - - - name: Run NATS bench - run: | - go install github.com/nats-io/natscli/nats@latest - export PATH=$HOME/go/bin:$PATH - make e2e-bench - - - name: Test NATS-server - run: | - make e2e-nats-server - - - name: Cleanup NATS CR - run: | - make e2e-cleanup - e2e-upgrade-fast-channel: # This job tests the upgrade of NATS module from latest release from fast channel to current commit. - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install k3d tools - run: | - make -C hack/ci/ install-k3d-tools - - - name: Install Kyma CLI & setup k3d cluster using kyma CLI - run: | - make kyma - make -C hack/ci/ create-k3d - kubectl version - kubectl cluster-info - - - name: Install latest released nats-manager + - name: Install latest NATS manager from main branch run: | make -C hack/ci/ create-kyma-system-ns - make -C hack/ci/ install-nats-manager + make deploy IMG=europe-docker.pkg.dev/kyma-project/prod/nats-manager:latest - name: Setup & test NATS CR run: | diff --git a/.github/workflows/push-e2e-upgrade-test.yaml b/.github/workflows/push-e2e-upgrade-test.yaml new file mode 100644 index 00000000..0ad179cd --- /dev/null +++ b/.github/workflows/push-e2e-upgrade-test.yaml @@ -0,0 +1,98 @@ +name: push-with-lifecycle-manager + +env: + DOCKER_IMAGE: "europe-docker.pkg.dev/kyma-project/prod/nats-manager" + E2E_LOG_LEVEL: debug + KYMA_STABILITY: "unstable" + KYMA: "./hack/kyma" + +on: + push: + branches: [ "main" ] + paths-ignore: + - 'docs/**' + - '**.md' + - 'sec-scanners-config.yaml' + +jobs: + e2e-upgrade: # This job tests the upgrade of NATS module from latest release from fast channel to current commit. + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install k3d tools + run: | + make -C hack/ci/ install-k3d-tools + + - name: Install Kyma CLI & setup k3d cluster using kyma CLI + run: | + make kyma + make -C hack/ci/ create-k3d + kubectl version + kubectl cluster-info + + - name: Install the latest released NATS manager + run: | + make -C hack/ci/ install-nats-manager + + - name: Setup & test NATS CR + run: | + make e2e-setup + + - name: Wait for the 'post-nats-manager-build' job to succeed + uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 + with: + context: "post-nats-manager-build" + commit_ref: "${{ github.sha }}" + timeout: 600000 # 10 minutes in milliseconds + # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) + check_interval: 60000 # 1 minute in milliseconds + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + GITHUB_OWNER: "${{ github.repository_owner }}" + GITHUB_REPO: "nats-manager" + + - name: Wait for the 'post-nats-module-build' job to succeed + id: wait-nats-module-build + uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 + with: + context: "post-nats-module-build" + commit_ref: "${{ github.sha }}" + timeout: 600000 # 10 minutes in milliseconds + # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) + check_interval: 60000 # 1 minute in milliseconds + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + GITHUB_OWNER: "${{ github.repository_owner }}" + GITHUB_REPO: "nats-manager" + + - name: Install the new NATS manager from current commit + env: + COMMIT_SHA: "${{ github.sha }}" + run: | + export DOCKER_TAG="$(date +v%Y%m%d)-$(echo ${COMMIT_SHA} | head -c 8)" + make deploy IMG="${DOCKER_IMAGE}:${DOCKER_TAG}" + + - name: Wait for new changes to be reflected + # Waits for NATS-manager image to be updated and NATS CR readiness. + env: + COMMIT_SHA: "${{ github.sha }}" + run: | + export DOCKER_TAG="$(date +v%Y%m%d)-$(echo ${COMMIT_SHA} | head -c 8)" + export MANAGER_IMAGE="${DOCKER_IMAGE}:${DOCKER_TAG}" + make e2e-setup + + - name: Run NATS bench + run: | + go install github.com/nats-io/natscli/nats@latest + export PATH=$HOME/go/bin:$PATH + make e2e-bench + + - name: Test NATS-server + run: | + make e2e-nats-server + + - name: Cleanup NATS CR + run: | + make e2e-cleanup diff --git a/.github/workflows/push-with-lifecycle-manager.yaml b/.github/workflows/push-with-lifecycle-manager.yaml deleted file mode 100644 index 4a0fc7ee..00000000 --- a/.github/workflows/push-with-lifecycle-manager.yaml +++ /dev/null @@ -1,183 +0,0 @@ -name: push-with-lifecycle-manager - -env: - DOCKER_IMAGE: "europe-docker.pkg.dev/kyma-project/prod/nats-manager" - E2E_LOG_LEVEL: debug - KYMA_STABILITY: "unstable" - KYMA: "./hack/kyma" - -on: - push: - branches: [ "main" ] - paths-ignore: - - 'docs/**' - - '**.md' - - 'sec-scanners-config.yaml' - -jobs: - e2e: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install k3d tools - run: | - make -C hack/ci/ install-k3d-tools - - - name: Install Kyma CLI & setup k3d cluster using kyma CLI - run: | - make kyma - make -C hack/ci/ create-k3d - kubectl version - kubectl cluster-info - - - name: Deploy lifecycle-manager - run: | - make -C hack/ci/ install-lifecycle-manager - - - name: Wait for the 'post-nats-manager-build' job to succeed - uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 - with: - context: "post-nats-manager-build" - commit_ref: "${{ github.sha }}" - timeout: 600000 # 10 minutes in milliseconds - # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) - check_interval: 60000 # 1 minute in milliseconds - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - GITHUB_OWNER: "${{ github.repository_owner }}" - GITHUB_REPO: "nats-manager" - - - name: Wait for the 'post-nats-module-build' job to succeed - id: wait-nats-module-build - uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 - with: - context: "post-nats-module-build" - commit_ref: "${{ github.sha }}" - timeout: 600000 # 10 minutes in milliseconds - # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) - check_interval: 60000 # 1 minute in milliseconds - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - GITHUB_OWNER: "${{ github.repository_owner }}" - GITHUB_REPO: "nats-manager" - - - name: Download & validate NATS module template - env: - COMMIT_STATUS_JSON: "${{ steps.wait-nats-module-build.outputs.json }}" - run: | - make -C hack/ci/ download-module-template - kubectl apply -f module-template.yaml --dry-run=client - - - name: Install & enable NATS module template - run: | - make -C hack/ci/ install-module-template - make -C hack/ci/ enable-module-without-default-cr - make -C hack/ci/ verify-kyma - - - name: Setup & test NATS CR - run: | - make e2e-setup - - - name: Run NATS bench - run: | - go install github.com/nats-io/natscli/nats@latest - export PATH=$HOME/go/bin:$PATH - make e2e-bench - - - name: Test NATS-server - run: | - make e2e-nats-server - - - name: Cleanup NATS CR - run: | - make e2e-cleanup - e2e-upgrade-fast-channel: # This job tests the upgrade of NATS module from latest release from fast channel to current commit. - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install k3d tools - run: | - make -C hack/ci/ install-k3d-tools - - - name: Install Kyma CLI & setup k3d cluster using kyma CLI - run: | - make kyma - make -C hack/ci/ create-k3d - kubectl version - kubectl cluster-info - - - name: Deploy lifecycle-manager - run: | - make -C hack/ci/ install-lifecycle-manager - - - name: Install latest released module template from fast channel & enable NATS module - run: | - make -C hack/ci/ install-nats-manager - make -C hack/ci/ verify-kyma - - - name: Setup & test NATS CR - run: | - make e2e-setup - - - name: Wait for the 'post-nats-manager-build' job to succeed - uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 - with: - context: "post-nats-manager-build" - commit_ref: "${{ github.sha }}" - timeout: 600000 # 10 minutes in milliseconds - # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) - check_interval: 60000 # 1 minute in milliseconds - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - GITHUB_OWNER: "${{ github.repository_owner }}" - GITHUB_REPO: "nats-manager" - - - name: Wait for the 'post-nats-module-build' job to succeed - id: wait-nats-module-build - uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 - with: - context: "post-nats-module-build" - commit_ref: "${{ github.sha }}" - timeout: 600000 # 10 minutes in milliseconds - # The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting) - check_interval: 60000 # 1 minute in milliseconds - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - GITHUB_OWNER: "${{ github.repository_owner }}" - GITHUB_REPO: "nats-manager" - - - name: Download & install the new NATS module template from current commit - env: - PR_NUMBER: "${{ github.event.number }}" - COMMIT_STATUS_JSON: "${{ steps.wait-nats-module-build.outputs.json }}" - run: | - make -C hack/ci/ download-module-template - make -C hack/ci/ install-module-template - make -C hack/ci/ verify-kyma - - - name: Wait for new changes to be reflected - # Waits for NATS-manager image to be updated and NATS CR readiness. - env: - COMMIT_SHA: "${{ github.sha }}" - run: | - export DOCKER_TAG="$(date +v%Y%m%d)-$(echo ${COMMIT_SHA} | head -c 8)" - export MANAGER_IMAGE="${DOCKER_IMAGE}:${DOCKER_TAG}" - make e2e-setup - - - name: Run NATS bench - run: | - go install github.com/nats-io/natscli/nats@latest - export PATH=$HOME/go/bin:$PATH - make e2e-bench - - - name: Test NATS-server - run: | - make e2e-nats-server - - - name: Cleanup NATS CR - run: | - make e2e-cleanup