Skip to content

Refactor on logic to manage skipped tests #1079

Refactor on logic to manage skipped tests

Refactor on logic to manage skipped tests #1079

Workflow file for this run

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
path_ignore: '**/*.md **/*.adoc LICENSE'
lint:
name: lint
if: needs.pre_job.outputs.should_skip != 'true'
needs: pre_job

Check failure on line 34 in .github/workflows/ci.yaml

View workflow run for this annotation

GitHub Actions / CI

Invalid workflow file

The workflow is not valid. .github/workflows/ci.yaml (Line: 34, Col: 12): Job 'lint' depends on unknown job 'pre_job'. .github/workflows/ci.yaml (Line: 50, Col: 12): Job 'verify-code' depends on unknown job '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
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")'