mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
85 lines
1.8 KiB
YAML
85 lines
1.8 KiB
YAML
name: pr-check
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
jobs:
|
|
lint:
|
|
name: Linter
|
|
runs-on: ubuntu-latest
|
|
# TODO: Remove continue-on-error once linter issues are fixed
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Gofmt check
|
|
run: diff -u <(echo -n) <(gofmt -d .)
|
|
|
|
- name: Run go generate
|
|
run: go generate ./...
|
|
|
|
- name: Golangci Lint
|
|
uses: golangci/golangci-lint-action@v9
|
|
with:
|
|
version: latest
|
|
|
|
# TODO: Remove once linter job is required
|
|
fmt-check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Check formatting
|
|
run: |
|
|
make fmt
|
|
git diff --exit-code || (echo "::error::Code is not formatted. Run 'make fmt' and commit the changes." && exit 1)
|
|
|
|
# TODO: Remove once linter job is required
|
|
vet:
|
|
runs-on: ubuntu-latest
|
|
needs: fmt-check
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Run go generate
|
|
run: go generate ./...
|
|
|
|
- name: Run go vet
|
|
run: go vet ./...
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
needs: fmt-check
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Run go generate
|
|
run: go generate ./...
|
|
|
|
- name: Run go test
|
|
run: go test ./...
|