Skip to content

chore(release): prepare v1.1.0 #155

chore(release): prepare v1.1.0

chore(release): prepare v1.1.0 #155

Workflow file for this run

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Run unit tests
run: go test -race -coverprofile=coverage.out -covermode=atomic -v ./...
# Requires repository secret CODECOV_TOKEN from https://codecov.io/gh/hrodrig/kzero
# (fork PRs may skip upload without the secret; CI still passes.)
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.out
fail_ci_if_error: false
lint:
name: gofmt + go vet + gocyclo
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Check gofmt
run: |
unformatted=$(gofmt -s -l .)
if [ -n "$unformatted" ]; then echo "Files not formatted with gofmt -s:"; echo "$unformatted"; exit 1; fi
- name: Run go vet
run: go vet ./...
- name: Install gocyclo
run: go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
- name: Run gocyclo
run: gocyclo -over 14 .
e2e-smoke:
name: E2E smoke (binary)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Run smoke script
run: bash testing/smoke/smoke.sh
# Product kind gate (#34). Flake policy + budget: testing/kind/README.md
integration-kind:
name: Integration (kind)
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Run kind e2e
run: bash testing/kind/kind-e2e.sh