59 lines
1.2 KiB
YAML
59 lines
1.2 KiB
YAML
---
|
|
name: "Continuous Integration"
|
|
on:
|
|
pull_request: {}
|
|
push:
|
|
branches:
|
|
- 'main'
|
|
tags:
|
|
- 'v*'
|
|
|
|
permissions:
|
|
contents: "read"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: 'actions/checkout@v4'
|
|
- uses: 'actions/setup-go@v5'
|
|
- run: 'go build ./...'
|
|
|
|
stringer:
|
|
needs: 'build'
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: 'actions/checkout@v4'
|
|
- uses: 'actions/setup-go@v5'
|
|
|
|
- run: 'go generate unifi/device.go'
|
|
- run: 'git diff --compact-summary --exit-code'
|
|
|
|
lint:
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: 'actions/checkout@v4'
|
|
- uses: 'actions/setup-go@v5'
|
|
- uses: 'golangci/golangci-lint-action@v6'
|
|
|
|
test:
|
|
needs: 'build'
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: 'actions/checkout@v4'
|
|
- uses: 'actions/setup-go@v5'
|
|
- run: 'go test ./...'
|
|
|
|
yamllint:
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: 'actions/checkout@v4'
|
|
- uses: 'ibiqlik/action-yamllint@v3'
|
|
|
|
test-codegen:
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- uses: "actions/checkout@v4"
|
|
- uses: "actions/setup-go@v5"
|
|
- run: "go generate unifi/codegen.go"
|