diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index ff4f37a..5e611c7 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -2,16 +2,21 @@ name: CI on: push: branches: [ main, work/review ] + jobs: build: runs-on: ubuntu-latest + strategy: + matrix: + go: ['1.20'] + os: ['ubuntu-latest'] steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: ${{ matrix.go }} - name: Cache Go modules uses: actions/cache@v4 with: @@ -28,7 +33,26 @@ jobs: gofmt_out=$(gofmt -l . | wc -l); if [ "$gofmt_out" -ne "0" ]; then echo "gofmt needs to be run"; gofmt -w .; exit 1; fi - name: Vet run: go vet ./... - - name: Build + - name: Static analysis (golangci-lint) + uses: golangci/golangci-lint-action@v4 + with: + version: 'v1.59.0' + - name: Build (amd64) run: make build + - name: Cross build (linux/arm64) + run: | + GOOS=linux GOARCH=arm64 go build -o bin/arm64 ./... - name: Test run: make test + - name: Coverage + run: | + go test -coverprofile=coverage.out ./... || true + go tool cover -func=coverage.out | sed -n '1,200p' + + release-checks: + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/checkout@v3 + - name: Echo OK + run: echo "build and tests passed"