Skip to content

Test workflow

Test workflow #7

name: Release Pull Request pipeline
on:
pull_request_target:
types: [ synchronize, opened, reopened, ready_for_review ]
branches:
- 'release-**'
jobs:
check-build-image:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether build image should run
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 }}
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
.reuse/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
build-image:
name: Build manager image
needs: [check-build-image]
if: ${{ needs.check-build-image.outputs.check == 'true' }}
uses: kyma-project/test-infra/.github/workflows/image-builder.yml@main # Usage: kyma-project/test-infra/.github/workflows/image-builder.yml@main
with:
name: istio-manager
dockerfile: Dockerfile
context: .
build-args: |
VERSION=PR-${{ github.event.number }}
check-unit-test:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether unit test & lint should run based on the changed files
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
sec-scanners-config.yaml
.reuse/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-unit-test:
name: Dispatch unit test
needs: [check-unit-test]
uses: ./.github/workflows/pull-unit-lint.yaml
if: ${{ needs.check-unit-test.outputs.check == 'true' }}
secrets: inherit
check-integration:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether integration tests should run based on the changed files
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
sec-scanners-config.yaml
.reuse/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-integration:
name: Dispatch integration tests
needs: [check-integration,build-image]
uses: ./.github/workflows/pull-integration-release.yaml
if: ${{ needs.check-integration.outputs.check == 'true' }}
secrets: inherit
dispatch-integration-gardener:
name: Dispatch Gardener integration tests
needs: [check-integration,build-image]
uses: ./.github/workflows/pull-integration-gardener-release.yaml
if: ${{ needs.check-integration.outputs.check == 'true' }}
secrets: inherit
check-ui:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether UI tests should run based on the changed files
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files: |
config/ui-extensions/**
config/crd/**
tests/ui/**
.github/workflows/ui-tests.yaml
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-ui:
name: Dispatch UI tests
needs: [check-ui,build-image]
uses: ./.github/workflows/ui-tests.yaml
if: ${{ needs.check-ui.outputs.check == 'true' }}
secrets: inherit
check-verify-pins:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether to run verify-commit-pins
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files: |
.github/workflows/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-verify-pins:
name: Dispatch verify-commit-pins
needs: [check-verify-pins]
uses: ./.github/workflows/verify-commit-pins.yaml
if: ${{ needs.check-verify-pins.outputs.check == 'true' }}
secrets: inherit