Skip to content

Commit

Permalink
chore: move linters to all_test.go
Browse files Browse the repository at this point in the history
  • Loading branch information
julieqiu committed Oct 30, 2024
1 parent 77720de commit 81ea947
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 56 deletions.
56 changes: 0 additions & 56 deletions .github/workflows/generator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,59 +23,3 @@ jobs:
run: go version
- run: go mod tidy
- run: go test ./...

lint:
runs-on: ubuntu-24.04
strategy:
matrix:
go-version: [ '1.23' ]
defaults:
run:
working-directory: generator
steps:
- uses: actions/checkout@v4
- name: Setup Go ${{ matrix.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
cache-dependency-path: |
generator/go.sum
- name: Display Go version
run: go version
- run: go mod tidy
- run: go fmt ./...
- run: go vet ./...
- run: |
# unparam does not seem to have releases. Using `latest` sounds risky.
go get mvdan.cc/unparam@57a3b4290ba3724102fdbbe72314f2b782d4bef5
go run mvdan.cc/unparam ./...
- name: Run `staticcheck`
uses: dominikh/[email protected]
with:
install-go: false
cache-key: ${{ matrix.go-version }}
working-directory: generator
- name: Detect Changes
run: git diff --exit-code

vuln:
runs-on: ubuntu-24.04
strategy:
matrix:
go-version: [ '1.23' ]
defaults:
run:
working-directory: generator
steps:
- uses: actions/checkout@v4
- name: Setup Go ${{ matrix.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
cache-dependency-path: |
generator/go.sum
- name: Display Go version
run: go version
- run: |
go get golang.org/x/vuln/cmd/[email protected]
go run golang.org/x/vuln/cmd/govulncheck ./...
65 changes: 65 additions & 0 deletions generator/all_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package main

import (
"errors"
"os/exec"
"testing"

"mvdan.cc/unparam/check"
)

func TestStaticCheck(t *testing.T) {
rungo(t, "run", "honnef.co/go/tools/cmd/[email protected]", "./...")
}

func TestUnparam(t *testing.T) {
warns, err := check.UnusedParams(false, false, false, "./...")
if err != nil {
t.Fatalf("check.UnusedParams: %v", err)
}
for _, warn := range warns {
t.Error(warn)
}
}

func TestVet(t *testing.T) {
rungo(t, "vet", "-all", "./...")
}

func TestGoModTidy(t *testing.T) {
rungo(t, "mod", "tidy")
}

func TestGoFmt(t *testing.T) {
rungo(t, "fmt")
}

func TestGovulncheck(t *testing.T) {
rungo(t, "run", "golang.org/x/vuln/cmd/[email protected]", "./...")
}

func rungo(t *testing.T, args ...string) {
t.Helper()

cmd := exec.Command("go", args...)
if output, err := cmd.CombinedOutput(); err != nil {
if ee := (*exec.ExitError)(nil); errors.As(err, &ee) && len(ee.Stderr) > 0 {
t.Fatalf("%v: %v\n%s", cmd, err, ee.Stderr)
}
t.Fatalf("%v: %v\n%s", cmd, err, output)
}
}
7 changes: 7 additions & 0 deletions generator/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,11 @@ require (
github.com/iancoleman/strcase v0.3.0
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38
google.golang.org/protobuf v1.35.1
mvdan.cc/unparam v0.0.0-20240917084806-57a3b4290ba3
)

require (
golang.org/x/mod v0.21.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/tools v0.25.0 // indirect
)
8 changes: 8 additions & 0 deletions generator/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI=
github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 h1:2oV8dfuIkM1Ti7DwXc0BJfnwr9csz4TDXI9EmiI+Rbw=
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38/go.mod h1:vuAjtvlwkDKF6L1GQ0SokiRLCGFfeBUXWr/aFFkHACc=
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
mvdan.cc/unparam v0.0.0-20240917084806-57a3b4290ba3 h1:YkmTN1n5U60NM02j7TCSWRlW3fqNiuXe/eVXf0dLFN8=
mvdan.cc/unparam v0.0.0-20240917084806-57a3b4290ba3/go.mod h1:z5yboO1sP1Q9pcfvS597TpfbNXQjphDlkCJHzt13ybc=

0 comments on commit 81ea947

Please sign in to comment.