Merge pull request #375 from Kuadrant/minor-log-tweak #1126
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: | |
push: | |
branches: | |
- main | |
- "release-*" | |
tags: | |
- "v[0-9]+.[0-9]+.[0-9]+" | |
pull_request: | |
branches: | |
- main | |
- "release-*" | |
merge_group: | |
types: [checks_requested] | |
workflow_dispatch: | |
jobs: | |
pre-job: | |
runs-on: ubuntu-latest | |
name: Pre job checks | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- uses: actions/checkout@v4 | |
- id: skip_check | |
uses: fkirc/[email protected] | |
with: | |
cancel_others: false | |
paths_ignore: '["**/*.md", "**/*.adoc", "LICENSE"]' | |
lint: | |
name: lint | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: v1.21.x | |
cache: false | |
- uses: golangci/golangci-lint-action@v3 | |
with: | |
version: v1.55.2 | |
only-new-issues: true | |
args: --timeout=5m | |
verify-code: | |
name: Verify code | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache: false | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make verify-code | |
run: | | |
make verify-code | |
verify-manifests: | |
name: Verify manifests | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache: false | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make verify-manifests | |
run: | | |
make verify-manifests | |
verify-bundle: | |
name: Verify bundle | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache: false | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make verify-bundle | |
run: | | |
make verify-bundle | |
verify-helm-build: | |
name: Verify helm build | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache: false | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make helm-build | |
run: | | |
make verify-helm-build | |
verify-imports: | |
name: Verify imports | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache: false | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make verify-imports | |
run: | | |
make verify-imports | |
verify-generate: | |
name: Verify generate | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache: false | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Verify generate command | |
run: | | |
make verify-generate | |
verify-go-mod: | |
name: Verify go.mod | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache: false | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Verify generate command | |
run: | | |
make verify-go-mod | |
unit-test-suite: | |
name: Unit Test Suite | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: v1.21 | |
cache: false | |
- name: Run suite | |
run: | | |
make test-unit | |
integration-test-suite: | |
name: Integration Test Suite | |
if: needs.pre-job.outputs.should_skip != 'true' | |
needs: pre-job | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: v1.21 | |
cache: false | |
- name: Run suite | |
run: | | |
make test-integration | |
required-checks: | |
name: CI Required Checks | |
# This check adds a list of checks to one job to simplify adding settings to the repo. | |
# If a new check is added in this file, and it should be retested on entry to the merge queue, | |
# it needs to be added to the list below aka needs: [ existing check 1, existing check 2, new check ]. | |
needs: [ lint, verify-code, verify-manifests, verify-bundle, verify-helm-build, verify-imports, verify-generate, verify-go-mod, unit-test-suite, integration-test-suite] | |
if: always() | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: echo '${{ toJSON(needs) }}' | jq -e 'all(.[]; .result == "success" or .result == "skipped")' |