mirror of
https://github.com/planetmint/planetmint-go.git
synced 2025-03-30 15:08:28 +00:00

with `copyloopvar`, which needs Go 1.22. * chore(ci): bump go version to v1.22 * fix(ci): pin release pipeline to go v1.22 Signed-off-by: Julian Strobl <jmastr@mailbox.org>
219 lines
4.8 KiB
YAML
219 lines
4.8 KiB
YAML
---
|
|
name: Audit
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
directory: [".", "lib"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Checkout dependency
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: rddl-network/bc-slip39-go
|
|
path: bc-slip39-go
|
|
|
|
- name: Build dependency
|
|
run: |
|
|
pushd bc-slip39-go
|
|
./deps.sh
|
|
popd
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
|
|
- name: Verify dependencies
|
|
run: go mod verify
|
|
|
|
- name: Build
|
|
run: |
|
|
pushd ${{ matrix.directory }}
|
|
go build -v ./...
|
|
|
|
proto:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Check proto files
|
|
run: |
|
|
if [ "$(find . -name 'query.proto' -exec grep 'option (google.api.http).* = ./planetmint/planetmint-go/' {} \; | wc -l)" -gt 0 ]; then exit 1; fi
|
|
|
|
ignite:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Check generated files
|
|
run: |
|
|
curl https://get.ignite.com/cli@v0.27.1 | bash
|
|
./ignite chain init --clear-cache --yes
|
|
rm ignite
|
|
if [ "$(git diff --stat | wc -l)" -gt 0 ]; then exit 1; fi
|
|
|
|
gofmt:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
directory: [".", "lib"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
|
|
- name: Run gofmt
|
|
run: |
|
|
pushd ${{ matrix.directory }}
|
|
if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi
|
|
|
|
govet:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
directory: [".", "lib"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Checkout dependency
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: rddl-network/bc-slip39-go
|
|
path: bc-slip39-go
|
|
|
|
- name: Build dependency
|
|
run: |
|
|
pushd bc-slip39-go
|
|
./deps.sh
|
|
popd
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
|
|
- name: Run go vet
|
|
run: |
|
|
pushd ${{ matrix.directory }}
|
|
go vet ./...
|
|
|
|
staticcheck:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
directory: [".", "lib"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Checkout dependency
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: rddl-network/bc-slip39-go
|
|
path: bc-slip39-go
|
|
|
|
- name: Build dependency
|
|
run: |
|
|
pushd bc-slip39-go
|
|
./deps.sh
|
|
popd
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
|
|
- name: Install staticcheck
|
|
run: go install honnef.co/go/tools/cmd/staticcheck@latest
|
|
|
|
- name: Run staticcheck
|
|
run: |
|
|
pushd ${{ matrix.directory }}
|
|
staticcheck ./...
|
|
|
|
golangci-lint:
|
|
strategy:
|
|
matrix:
|
|
directory: [".", "lib"]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
|
|
- name: Install golangci-lint
|
|
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
|
|
|
- name: Run golangci-lint
|
|
run: |
|
|
pushd ${{ matrix.directory }}
|
|
golangci-lint run
|
|
|
|
gotest:
|
|
strategy:
|
|
matrix:
|
|
directory: [".", "lib"]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Checkout dependency
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: rddl-network/bc-slip39-go
|
|
path: bc-slip39-go
|
|
|
|
- name: Build dependency
|
|
run: |
|
|
pushd bc-slip39-go
|
|
./deps.sh
|
|
popd
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
|
|
- name: Run tests
|
|
run: |
|
|
pushd ${{ matrix.directory }}
|
|
# Exclude generated .pb.go and .pb.gw.go files from test and coverage
|
|
go test -coverprofile cover.out -race -vet=off -v $(go list ./... | grep -v types)
|
|
# Print coverage by function
|
|
go tool cover -func=cover.out
|