Workflow improvements #1024
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
# This workflow is responsible for all kinds of integration tests run on pull request to release branch. | |
# Those tests depend on a container image, so in the first job we wait for the image build to succeed. | |
name: PR Integration Gardener | |
on: | |
# pull_request_target runs workflows from the base of PR | |
# It allows the workflow to get the repository secrets | |
pull_request_target: | |
types: [ synchronize, opened, reopened, ready_for_review ] | |
branches: | |
- 'main' | |
jobs: | |
filter-changes: | |
name: List relevant VCS changes | |
outputs: | |
check: ${{ steps.changed-files.outputs.any_modified }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275 | |
id: changed-files | |
with: | |
files_ignore: | | |
docs/** | |
**/*.md | |
OWNERS | |
CODEOWNERS | |
sec-scanners-config.yaml | |
.github/** | |
.** | |
- name: List all changed files | |
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' | |
build-image: | |
name: Build and push manager image | |
needs: [filter-changes] | |
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }} | |
runs-on: ubuntu-latest | |
if: ${{ github.event.pull_request.draft == false && needs.filter-changes.outputs.check == 'true' }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
- uses: ./.github/actions/build-manager-image | |
with: | |
operator-image-name: "europe-central2-docker.pkg.dev/sap-se-cx-kyma-goat/istio/istio-manager:PR-${{github.event.number}}" | |
push-image: 'true' | |
push-sa-key: ${{ secrets.GCP_SA_KEY }} | |
istio-integration-gcp: | |
name: Istio integration test GCP | |
runs-on: ubuntu-latest | |
needs: [build-image] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
- run: ./tests/integration/scripts/gardener-kubeconfig.sh | |
shell: bash | |
env: | |
GARDENER_TOKEN: ${{ secrets.GARDENER_TOKEN }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: "go.mod" | |
- run: make IMG="europe-central2-docker.pkg.dev/sap-se-cx-kyma-goat/istio/istio-manager:PR-${{github.event.number}}" gardener-istio-integration-test | |
shell: bash | |
env: | |
GARDENER_KUBECONFIG: "/home/runner/work/istio/istio/gardener_kubeconfig.yaml" | |
GARDENER_PROJECT_NAME: "goats" | |
GARDENER_PROVIDER_SECRET_NAME: "goat" | |
GARDENER_PROVIDER: "gcp" | |
GARDENER_REGION: "europe-west3" | |
GARDENER_CLUSTER_VERSION: "1.29.7" | |
MACHINE_TYPE: "n2-standard-4" | |
DISK_SIZE: 50 | |
DISK_TYPE: "pd-standard" | |
SCALER_MAX: 20 | |
SCALER_MIN: 3 | |
istio-integration-aws-specific: | |
name: Istio integration test AWS specific | |
runs-on: ubuntu-latest | |
needs: [build-image] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
- run: ./tests/integration/scripts/gardener-kubeconfig.sh | |
shell: bash | |
env: | |
GARDENER_TOKEN: ${{ secrets.GARDENER_TOKEN }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: "go.mod" | |
- run: make IMG="europe-central2-docker.pkg.dev/sap-se-cx-kyma-goat/istio/istio-manager:PR-${{github.event.number}}" gardener-aws-integration-test | |
shell: bash | |
env: | |
GARDENER_KUBECONFIG: "/home/runner/work/istio/istio/gardener_kubeconfig.yaml" | |
GARDENER_PROJECT_NAME: "goats" | |
GARDENER_PROVIDER_SECRET_NAME: "aws-gardener-access" | |
GARDENER_PROVIDER: "aws" | |
GARDENER_CLUSTER_VERSION: "1.29.7" | |
GARDENER_REGION: "eu-west-1" | |
MACHINE_TYPE: "m5.xlarge" | |
DISK_SIZE: 50 | |
DISK_TYPE: "gp2" | |
SCALER_MAX: 3 | |
SCALER_MIN: 1 | |
istio-integration-gcp-specific: | |
name: Istio integration test GCP specific | |
runs-on: ubuntu-latest | |
needs: [build-image] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
- run: ./tests/integration/scripts/gardener-kubeconfig.sh | |
shell: bash | |
env: | |
GARDENER_TOKEN: ${{ secrets.GARDENER_TOKEN }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: "go.mod" | |
- run: make IMG="europe-central2-docker.pkg.dev/sap-se-cx-kyma-goat/istio/istio-manager:PR-${{github.event.number}}" gardener-gcp-integration-test | |
shell: bash | |
env: | |
GARDENER_KUBECONFIG: "/home/runner/work/istio/istio/gardener_kubeconfig.yaml" | |
GARDENER_PROJECT_NAME: "goats" | |
GARDENER_PROVIDER_SECRET_NAME: "goat" | |
GARDENER_PROVIDER: "gcp" | |
GARDENER_REGION: "europe-west3" | |
GARDENER_CLUSTER_VERSION: "1.29.7" | |
MACHINE_TYPE: "n2-standard-4" | |
DISK_SIZE: 50 | |
DISK_TYPE: "pd-standard" | |
SCALER_MAX: 20 | |
SCALER_MIN: 3 |