Create Upgrade jobs for PR and main merge #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: pull-e2e-upgrade-test | |
env: | |
DOCKER_IMAGE: europe-docker.pkg.dev/kyma-project/dev/eventing-manager:PR-${{ github.event.number }} | |
E2E_LOG_LEVEL: debug | |
KYMA_STABILITY: "unstable" | |
KYMA: "./hack/kyma" | |
on: | |
pull_request: | |
branches: [ "main" ] | |
paths-ignore: | |
- 'docs/**' | |
- '**.md' | |
- 'sec-scanners-config.yaml' | |
jobs: | |
e2e-upgrade: # This job tests the upgrade of Eventing module from latest image of the main branch to the current commit. | |
runs-on: ubuntu-latest | |
env: | |
MANAGER_IMAGE: ${DOCKER_IMAGE} | |
BACKEND_TYPE: NATS | |
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: Create kyma-system namespace | |
run: | | |
make -C hack/ci/ create-kyma-system-ns | |
- name: Install the latest released NATS manager | |
run: | | |
kubectl apply -f https://github.com/kyma-project/nats-manager/releases/latest/download/nats-manager.yaml | |
kubectl apply -f https://github.com/kyma-project/nats-manager/releases/latest/download/nats-default-cr.yaml | |
- name: Wait for NATS module to be ready | |
run: | | |
while [[ $(kubectl get -n kyma-system nats eventing-nats -o jsonpath='{.status.state}') != "Ready" ]]; do | |
echo "waiting for NATS module to be ready" | |
sleep 3 | |
done | |
- name: Install latest Eventing manager from main branch | |
run: | | |
make -C hack/ci/ create-kyma-system-ns | |
make deploy IMG=europe-docker.pkg.dev/kyma-project/prod/eventing-manager:latest | |
- name: Setup & test Eventing CR | |
run: | | |
make e2e-setup | |
- name: Wait for the 'pull-eventing-manager-build' job to succeed | |
uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20 | |
with: | |
context: "pull-eventing-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: "eventing-manager" | |
- name: Install the new Eventing manager from current commit | |
run: | | |
make deploy IMG=${DOCKER_IMAGE} | |
- name: Wait for new changes to be reflected and create test resources | |
# Waits for eventing-manager image to be updated and Eventing CR readiness. | |
run: | | |
make e2e-setup | |
make e2e-eventing-setup | |
- name: Run e2e tests | |
run: | | |
make e2e-eventing | |
- name: Cleanup Test Resources | |
run: | | |
make e2e-eventing-cleanup | |
make e2e-cleanup |