Skip to content

chore: TEST

chore: TEST #1975

name: PR Integration
env:
IMG: europe-docker.pkg.dev/kyma-project/dev/telemetry-manager:PR-${{ github.event.number }}
on:
pull_request:
branches:
- "main"
- "release-*"
workflow_dispatch:
jobs:
# This is a workaround to bypass the limitations of the workflow path filter:
# https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks
check-changed-files:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft == false }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Get changed files
uses: tj-actions/changed-files@6b2903bdce6310cfbddd87c418f253cf29b2dec9
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
OWNERS
CODEOWNERS
- name: List changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
e2e:
needs:
- check-changed-files
if: ${{ needs.check-changed-files.outputs.check == 'true' }}
strategy:
fail-fast: false
matrix:
ginkgo-labels:
- logs
- metrics
- traces
- telemetry
- max-pipeline
- telemetry-log-analysis
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Prepare test
uses: "./.github/template/prepare-test"
with:
release: true
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests
run: bin/ginkgo run --junit-report=junit-report.xml --tags e2e --label-filter="${{ matrix.ginkgo-labels }} && !experimental" test/e2e
- name: Finalize test
uses: "./.github/template/finalize-test"
if: success() || failure()
with:
failure: failure()
job-name: ${{ github.job }}-${{ matrix.ginkgo-labels }}
e2e-dev:
needs:
- check-changed-files
if: ${{ needs.check-changed-files.outputs.check == 'true' }}
strategy:
fail-fast: false
matrix:
ginkgo-labels:
- logs
- metrics
- traces
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Prepare test
uses: "./.github/template/prepare-test"
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests
run: bin/ginkgo run --junit-report=junit-report.xml --tags e2e --label-filter="${{ matrix.ginkgo-labels }} && experimental" test/e2e
- name: Finalize test
uses: "./.github/template/finalize-test"
if: success() || failure()
with:
failure: failure()
job-name: ${{ github.job }}-${{ matrix.ginkgo-labels }}
e2e-istio:
needs:
- check-changed-files
if: ${{ needs.check-changed-files.outputs.check == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Prepare Test
uses: "./.github/template/prepare-test"
with:
release: true
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy Istio Module
run: hack/deploy-istio.sh
- name: Run tests
run: |
bin/ginkgo run --junit-report=junit-report.xml --tags istio --label-filter="integration" test/integration/istio
- name: Finalize Test
uses: "./.github/template/finalize-test"
if: success() || failure()
with:
failure: failure()
job-name: ${{ github.job }}
e2e-self-mon:
needs:
- check-changed-files
if: ${{ needs.check-changed-files.outputs.check == 'true' }}
strategy:
fail-fast: false
matrix:
signal-type:
- logs
- metrics
- traces
scenario:
- healthy
- backpressure
- outage
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Prepare Test
uses: "./.github/template/prepare-test"
with:
release: true
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests without Istio
if: ${{ matrix.scenario == 'healthy' }}
run: |
bin/ginkgo run --junit-report=junit-report-healthy.xml --tags e2e --label-filter="self-mon-${{ matrix.signal-type }}-${{ matrix.scenario }}" test/e2e
# we need Istio for fault injection to simulate backpressure and outages
- name: Deploy Istio Module
if: ${{ matrix.scenario != 'healthy' }}
run: hack/deploy-istio.sh
- name: Run tests with Istio
if: ${{ matrix.scenario != 'healthy' }}
run: |
bin/ginkgo run --junit-report=junit-report-unhealthy.xml --tags istio --label-filter="self-mon-${{ matrix.signal-type }}-${{ matrix.scenario }}" test/integration/istio
- name: Finalize Test
uses: "./.github/template/finalize-test"
if: success() || failure()
with:
failure: failure()
job-name: ${{ github.job }}-${{ matrix.signal-type }}-${{ matrix.scenario }}
PR-Integration-Success:
needs:
- e2e
- e2e-dev
- e2e-istio
- e2e-self-mon
runs-on: ubuntu-latest
steps:
- name: Success
run: |
echo "PR Integration completed successfully"