feat: enable nats istio mtls #233
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-test | |
env: | |
DOCKER_IMAGE: europe-docker.pkg.dev/kyma-project/dev/nats-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: | |
wait-for-build-job: | |
name: Wait for build job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout eventing-tools | |
uses: actions/checkout@v4 | |
with: | |
repository: 'kyma-project/eventing-tools' | |
path: 'kyma-project/eventing-tools' | |
ref: main | |
sparse-checkout: 'scripts/wait-for-commit-check' | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
cache: 'pip' | |
- name: Install requirements | |
run: | | |
pip install -r $GITHUB_WORKSPACE/kyma-project/eventing-tools/scripts/wait-for-commit-check/requirements.txt | |
- name: Wait for build job | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
REPOSITORY_FULL_NAME: ${{ github.repository_owner }}/nats-manager | |
GIT_REF: "${{ github.event.pull_request.head.sha }}" # Note: 'github.event.pull_request.head.sha' is not same as 'github.sha' on pull requests. | |
# The re-usable image-builder workflow from neighbors appends the "Build image" suffix to the check run name. | |
GIT_CHECK_RUN_NAME: "build / Build image" | |
INTERVAL: 60 | |
TIMEOUT: 900 | |
run: | | |
python $GITHUB_WORKSPACE/kyma-project/eventing-tools/scripts/wait-for-commit-check/run.py | |
e2e: | |
name: e2e | |
needs: [ wait-for-build-job ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache Go dependencies | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: "./go.mod" | |
check-latest: true | |
cache-dependency-path: "./go.sum" | |
- run: go version | |
- 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 NATS CRD on the cluster | |
run: | | |
make install IMG=$DOCKER_IMAGE | |
- name: Create kyma-system namespace | |
run: | | |
kubectl create namespace kyma-system | |
- name: Deploy the controller to the cluster | |
run: | | |
make deploy IMG=$DOCKER_IMAGE | |
- name: Setup and 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 | |
# the following steps only run on failure to help finding the cause of the failure | |
- name: List CRDs | |
if: failure() | |
run: | | |
kubectl get crd | |
- name: List Namespaces | |
if: failure() | |
run: | | |
kubectl get namespaces | |
- name: List StatefulSets | |
if: failure() | |
run: | | |
kubectl get sts --all-namespaces | |
- name: List Pods | |
if: failure() | |
run: | | |
kubectl get po --all-namespaces | |
- name: List PVCs | |
if: failure() | |
run: | | |
kubectl get pvc --all-namespaces | |
- name: List NATS CR | |
if: failure() | |
run: | | |
kubectl get nats --all-namespaces | |
e2e-upgrade: # This job tests the upgrade of NATS module from latest image of the main branch to the current commit. | |
name: e2e-upgrade | |
needs: [ wait-for-build-job ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache Go dependencies | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: "./go.mod" | |
check-latest: true | |
cache-dependency-path: "./go.sum" | |
- run: go version | |
- 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 NATS manager from main branch | |
run: | | |
make -C hack/ci/ create-kyma-system-ns | |
make deploy IMG=europe-docker.pkg.dev/kyma-project/prod/nats-manager:main | |
- name: Setup & test NATS CR | |
run: | | |
make e2e-setup | |
- name: Install the new NATS manager from current commit | |
run: | | |
make deploy IMG=${DOCKER_IMAGE} | |
- name: Wait for new changes to be reflected | |
# Waits for NATS-manager image to be updated and NATS CR readiness. | |
run: | | |
export MANAGER_IMAGE=${DOCKER_IMAGE} | |
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 |