Skip to content

feat: enhance ci with test matrix #935

feat: enhance ci with test matrix

feat: enhance ci with test matrix #935

Workflow file for this run

name: Go
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
cache: true
- name: Cache Go modules
uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: build
run: make build
unit-test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: false
runs-on: ${{ matrix.os }}
env:
SKIP_TESTS: true
steps:
- name: Create k8s Kind Cluster
if: ${{ matrix.os == 'ubuntu-latest' }} # Only runs on Ubuntu
uses: helm/[email protected]
with:
cluster_name: cluster
- name: Set k8s provider
if: ${{ matrix.os == 'ubuntu-latest' }} # Only runs on Ubuntu
run: |
kubectl create namespace test-namespace
kubectl create secret generic mysecret -n test-namespace --from-literal=key=p4ssw0rd
kubectl create configmap myconfigmap -n test-namespace --from-literal=key=configValue
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
cache: true
- name: Cache Go modules
uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: test
run: make test