Skip to content

Tests

Tests #735

Workflow file for this run

name: Tests
on:
push:
branches: [ 'main' ]
pull_request:
branches: [ '*' ]
schedule:
- cron: "15 1 * * *"
jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- uses: actions/checkout@v4
- name: Run make test-unit
run: |
make test-unit
- name: Upload unit-test coverage reports to CodeCov # more at https://github.com/codecov/codecov-action
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unit
fail_ci_if_error: false
verbose: true
integration-tests:
name: Integration Tests
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Create k8s Kind Cluster
uses: helm/[email protected]
with:
version: v0.22.0
config: utils/kind-cluster.yaml
cluster_name: limitador-local
wait: 120s
- name: Check cluster info
run: |
kubectl cluster-info dump
- name: Run integration tests
run: |
make test-integration
- name: Upload integration-test coverage reports to CodeCov # more at https://github.com/codecov/codecov-action
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: integration
fail_ci_if_error: false
verbose: true
verify-manifests:
name: Verify manifests
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- uses: actions/checkout@v4
- name: Verify manifests
run: make verify-manifests
verify-bundle:
name: Verify bundle
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Run make verify-bundle
run: |
make verify-bundle
verify-fmt:
name: Verify fmt
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Run make verify-fmt
run: |
make verify-fmt
verify-tidy:
name: Verify tidy
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Run go mod tidy
run: |
go mod tidy
- name: Run make verify-tidy
run: |
make verify-tidy
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Go Lint
run: make run-lint
verify-generate:
name: Verify generate
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
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
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Verify generate command
run: |
make verify-go-mod
verify-helm-charts:
name: Verify helm charts
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22.x
uses: actions/setup-go@v4
with:
go-version: 1.22.x
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Run make verify-helm-charts
run: |
make verify-helm-charts