chore: Add more granular control to E2E test setup #9267
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: CI | |
on: | |
- pull_request | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
validate: | |
name: validate - ${{ matrix.name }} | |
runs-on: ${{ matrix.runner }} | |
container: ghcr.io/kedacore/keda-tools:1.21.6 | |
strategy: | |
matrix: | |
include: | |
- runner: ARM64 | |
name: arm64 | |
- runner: ubuntu-latest | |
name: amd64 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 1 | |
- name: Register workspace path | |
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
- name: Check go version | |
run: go version | |
- name: Set Go paths | |
id: go-paths | |
run: | | |
echo "mod_cache=$(go env GOMODCACHE)" >> $GITHUB_OUTPUT | |
echo "build_cache=$(go env GOCACHE)" >> $GITHUB_OUTPUT | |
- name: Go modules cache | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: ${{ steps.go-paths.outputs.mod_cache }} | |
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} | |
- name: Go build cache | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: ${{ steps.go-paths.outputs.build_cache }} | |
key: ${{ runner.os }}-go-build-cache-${{ hashFiles('**/go.sum') }} | |
- name: Go modules sync | |
run: go mod tidy -compat=1.21 | |
- name: Verify generated Clientset is up to date | |
run: make clientset-verify | |
- name: Verify generated Manifests are up to date | |
run: make verify-manifests | |
- name: Build | |
run: make build | |
- name: Test | |
run: make test | |
- name: Create test Summary | |
uses: test-summary/action@v2 | |
with: | |
paths: "report.xml" | |
if: always() | |
validate-dockerfiles: | |
name: validate-dockerfiles - ${{ matrix.name }} | |
runs-on: ${{ matrix.runner }} | |
container: ghcr.io/kedacore/keda-tools:1.21.6 | |
strategy: | |
matrix: | |
include: | |
- runner: ARM64 | |
name: arm64 | |
- runner: ubuntu-latest | |
name: amd64 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 1 | |
- name: Register workspace path | |
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
- uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd # v3 | |
id: filter | |
with: | |
filters: | | |
dockerfiles: | |
- 'Dockerfile*' | |
- name: Build images | |
if: steps.filter.outputs.dockerfiles == 'true' | |
run: make docker-build | |
validate-dev-container: | |
name: Validate dev-container - ${{ matrix.name }} | |
runs-on: ${{ matrix.runner }} | |
container: ghcr.io/kedacore/keda-tools:1.21.6 | |
strategy: | |
matrix: | |
include: | |
- runner: ARM64 | |
name: arm64 | |
- runner: ubuntu-latest | |
name: amd64 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
- name: Register workspace path | |
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
- uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd # v3 | |
id: filter | |
with: | |
filters: | | |
devcontainer: | |
- '.devcontainer/Dockerfile' | |
- name: Build tools | |
if: steps.filter.outputs.devcontainer == 'true' | |
run: make docker-build-dev-containers | |
statics: | |
name: Static Checks | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 | |
with: | |
python-version: 3.x | |
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5 | |
with: | |
go-version: "1.21" | |
- name: Get golangci | |
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.55.2 | |
- uses: pre-commit/action@v3.0.0 | |
trivy-scan: | |
uses: kedacore/keda/.github/workflows/template-trivy-scan.yml@main | |
with: | |
runs-on: 'ubuntu-latest' | |
scan-type: 'fs' | |
format: 'table' | |
output: '' | |
exit-code: 1 | |
publish: false |