feat: Add NS record type support for multi-cluster delegation #2139
Workflow file for this run
This file contains hidden or 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"]' | |
| do_not_skip: '["push", "merge_group", "workflow_dispatch", "schedule"]' | |
| 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@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| - uses: golangci/golangci-lint-action@v8 | |
| with: | |
| version: v2.7.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: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| id: go | |
| - 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: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| id: go | |
| - 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: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| id: go | |
| - 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: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| id: go | |
| - 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: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| id: go | |
| - 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: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| id: go | |
| - 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: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| id: go | |
| - 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@v6 | |
| with: | |
| go-version-file: go.mod | |
| 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@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| - name: Run suite | |
| run: | | |
| make test-integration | |
| coredns-unit-test-suite: | |
| name: CoreDNS Plugin 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@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: false | |
| - name: Run suite | |
| run: | | |
| make coredns-test-unit | |
| 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, coredns-unit-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")' |