Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,16 +130,16 @@ jobs:
# allowed because the job is gated on manual approval for fork PRs
allow-unsafe-pr-checkout: true

- name: Set up Mise
uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0

- name: Login to Docker Hub
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ secrets.DOCKERHUB_OIDC_CONNECTIONID }}
with:
username: ${{ github.repository_owner }}

- name: Set up Mise
uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0

- name: Build and push the CCM PR image
run: mise run ko-publish

Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/go-analyze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ jobs:
- name: lint
run: mise run lint


- name: Chainsaw lint
run: mise run chainsaw-lint
- name: Helm Lint
run: mise run helm-lint

Expand Down
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,11 @@ vet: fmt
lint:
golangci-lint run -c .golangci.yml

.PHONY: chainsaw-lint
chainsaw-lint: ## Validate the Chainsaw configuration and every test manifest.
chainsaw lint configuration --file .chainsaw.yaml
find e2e -type f -name 'chainsaw-test.yaml' -print0 | xargs -0 -n 1 chainsaw lint test --file

.PHONY: lint-fix
lint-fix:
golangci-lint run -c .golangci.yml --fix
Expand Down
8 changes: 8 additions & 0 deletions docs/development/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,11 @@ The E2E manifests use labels to select compatible scenarios:
| `ipv6-backends` | CAPL-provisioned IPv6 workload cluster |

Some tests require a CAPL management cluster to add nodes or configure routes. They are intentionally excluded from the `lke` selector.

## Chainsaw schema validation

Run the Chainsaw configuration and test-manifest checks without a cluster:

```bash
mise run chainsaw-lint
```
4 changes: 4 additions & 0 deletions mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ run = "make vet"
description = "Run golangci-lint"
run = "make lint"

[tasks.chainsaw-lint]
description = "Validate the Chainsaw configuration and every E2E test manifest."
run = "make chainsaw-lint"

[tasks.lint-fix]
description = "Run golangci-lint --fix"
run = "make lint-fix"
Expand Down
Loading