Skip to content

operator crud tests (#16) #64

operator crud tests (#16)

operator crud tests (#16) #64

name: Operator verify
on:
push:
branches: [ "main", "release-*" ]
pull_request:
paths-ignore:
- 'docs/**'
- 'examples/**'
types:
- opened
- reopened
- synchronize
- ready_for_review
- converted_to_draft
jobs:
lint:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: golangci/golangci-lint-action@v3
with:
version: latest
working-directory: 'components/operator'
unit-test:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: run test
run: make -C components/operator test
operator-integration-test:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.SETUP_GO_VERSION }}
- name: create single cluster
uses: AbsaOSS/k3d-action@4e8b3239042be1dc0aed6c5eb80c13b18200fc79 #v2.4.0
with:
cluster-name: "k3dCluster"
args: >-
--agents 1
--image rancher/k3s:v1.29.3-k3s1
--port 80:80@loadbalancer
--port 443:443@loadbalancer
--wait
- name: run integration test (pre)
if: github.event_name == 'pull_request'
run: |
make -C components/operator deploy
make -C tests/operator test
env:
IMG: europe-docker.pkg.dev/kyma-project/dev/dockerregistry-operator:PR-${{ github.event.number }}
- name: run integration test (post)
if: github.event_name == 'push'
run: |
make -C components/operator deploy
make -C tests/operator test
env:
IMG: europe-docker.pkg.dev/kyma-project/prod/dockerregistry-operator:${{ github.sha }}
- name: collect cluster-info
if: ${{ always() }}
run: make -C tests/operator cluster-info
operator-upgrade-test:
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.SETUP_GO_VERSION }}
- name: create single cluster
uses: AbsaOSS/k3d-action@4e8b3239042be1dc0aed6c5eb80c13b18200fc79 #v2.4.0
with:
cluster-name: "k3dCluster"
args: >-
--agents 1
--image rancher/k3s:v1.29.3-k3s1
--port 80:80@loadbalancer
--port 443:443@loadbalancer
--wait
- name: upgrade test
run: |
make -C components/operator deploy-release
make -C tests/operator test
make -C components/operator deploy
make -C tests/operator test
env:
IMG: europe-docker.pkg.dev/kyma-project/prod/dockerregistry-operator:${{ github.sha }}
- name: collect cluster-info
if: ${{ always() }}
run: make -C tests/operator cluster-info
gardener-integration-test:
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.SETUP_GO_VERSION }}
- name: save sa
shell: bash
run: 'echo "$GARDENER_SA" > /tmp/gardener-sa.yaml'
env:
GARDENER_SA: ${{ secrets.GARDENER_SA }}
- name: provision gardener
run: make -C hack provision-gardener
env:
GARDENER_SECRET_NAME: ${{ secrets.GARDENER_SECRET_NAME }}
GARDENER_PROJECT: ${{ secrets.GARDENER_PROJECT }}
GARDENER_SA_PATH: /tmp/gardener-sa.yaml
- name: run test
run: |
make -C components/operator deploy
make -C tests/operator test
env:
IMG: europe-docker.pkg.dev/kyma-project/prod/dockerregistry-operator:${{ github.sha }}
- name: deprovision gardener
if: ${{ always() }}
run: make -C hack deprovision-gardener
env:
GARDENER_SA_PATH: /tmp/gardener-sa.yaml