Skip to content

Merge pull request #103 from cisco-open/dependabot/github_actions/git… #88

Merge pull request #103 from cisco-open/dependabot/github_actions/git…

Merge pull request #103 from cisco-open/dependabot/github_actions/git… #88

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ["1.22"]
steps:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Checkout code
uses: actions/checkout@v4
- name: Test
run: make test
integration-test:
name: Integration test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
kube: ["1.25", "1.26", "1.27", "1.28", "1.29", "1.30"]
env:
KUBECONFIG: ${{ github.workspace }}/.kube/config
steps:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Checkout code
uses: actions/checkout@v4
# See https://github.com/kubernetes-sigs/kind/releases/tag/v0.17.0
- name: Determine KinD node image version
id: node_image
run: |
case ${{ matrix.kube }} in
1.25)
NODE_IMAGE=kindest/node:v1.25.11@sha256:227fa11ce74ea76a0474eeefb84cb75d8dad1b08638371ecf0e86259b35be0c8 ;;
1.26)
NODE_IMAGE=kindest/node:v1.26.6@sha256:6e2d8b28a5b601defe327b98bd1c2d1930b49e5d8c512e1895099e4504007adb ;;
1.27)
NODE_IMAGE=kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72 ;;
1.28)
NODE_IMAGE=kindest/node:v1.28.9@sha256:9ba4d311e7861d27b210e5960e5ce921a7c53d3c67e0545fd8a1cb9a76dfa2cb ;;
1.29)
NODE_IMAGE=kindest/node:v1.29.4@sha256:ea40a6bd365a17f71fd3883a1d34a0791d7d6b0eb75832c6d85b6f2326827f1e ;;
1.30)
NODE_IMAGE=kindest/node:v1.30.0@sha256:2af5d1b382926abcd6336312d652cd045b7cc47475844a608669c71b1fefcfbc ;;
esac
echo "image=$NODE_IMAGE" >> $GITHUB_OUTPUT
- name: Create KinD cluster
uses: helm/kind-action@v1.11.0
with:
version: v0.17.0
node_image: ${{ steps.node_image.outputs.image }}
- name: Test
run: make test-integration
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Checkout code
uses: actions/checkout@v4
- name: Lint
run: make lint
env:
LINTER_FLAGS: '--timeout 5m'
license-check:
name: License check
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Checkout code
uses: actions/checkout@v4
- name: Cache licenses
uses: actions/cache@v4
with:
key: licensei-v2-${{ hashFiles('go.sum') }}
path: |
.licensei.cache
restore-keys: |
licensei-v2
- name: Download license information for dependencies
env:
GITHUB_TOKEN: ${{ github.token }}
run: make license-cache
- name: Check licenses
env:
GITHUB_TOKEN: ${{ github.token }}
run: make license-check