mirror of
https://github.com/komodorio/helm-dashboard.git
synced 2026-03-24 11:48:04 +00:00
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
pull_request:
|
|
branches: [ "main" ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v3
|
|
with:
|
|
go-version: 1.18
|
|
- name: Unit tests
|
|
run: |
|
|
go test -v -race ./... # Run all the tests with the race detector enabled
|
|
- name: Static analysis
|
|
run: |
|
|
go vet ./... # go vet is the official Go static analyzer
|
|
- name: Cyclomatic complexity
|
|
run: |
|
|
go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
|
|
/home/runner/go/bin/gocyclo -over 19 main.go pkg # forbid code with huge/complex functions
|
|
- name: Inject version
|
|
uses: jacobtomlinson/gha-find-replace@v2
|
|
with:
|
|
find: 'v0.0.0'
|
|
replace: ${{ github.ref_name }}
|
|
include: "pkg/dashboard/static/datadog.js"
|
|
- name: Calm down GoReleaser
|
|
run: |
|
|
git config --global user.email "gh@komodor.com"
|
|
git config --global user.name "GH Internal"
|
|
git add pkg/dashboard/static/datadog.js
|
|
git commit -m "temporary"
|
|
- name: Dry Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@v2
|
|
with:
|
|
version: latest
|
|
args: release --snapshot --rm-dist
|
|
- name: Test Binary is Runnable
|
|
run: "dist/helm-dashboard_linux_amd64_v1/helm-dashboard --help"
|
|
- name: golangci-lint
|
|
uses: golangci/golangci-lint-action@v3.2.0
|
|
with:
|
|
# version: latest
|
|
# skip-go-installation: true
|
|
skip-pkg-cache: true
|
|
skip-build-cache: true
|
|
# args: --timeout=15m |