name: static-analysis on: push: branches: - main pull_request: branches: - '*' concurrency: group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: gofmt: runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version-file: go.mod - name: Run gofmt (goimports) run: go run golang.org/x/tools/cmd/goimports -d --format-only . - uses: k0kubun/action-slack@v2.0.0 with: payload: | { "attachments": [{ "text": "${{ job.status }}: ${{ github.workflow }} " + "() " + "of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}", "color": "danger" }] } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: failure() && github.event_name == 'push' vet: runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.19 - name: Check out code uses: actions/checkout@v3 - name: Run go vet run: go vet ./... - uses: k0kubun/action-slack@v2.0.0 with: payload: | { "attachments": [{ "text": "${{ job.status }}: ${{ github.workflow }} " + "() " + "of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}", "color": "danger" }] } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: failure() && github.event_name == 'push' staticcheck: runs-on: ubuntu-latest strategy: matrix: goos: [linux, windows, darwin] goarch: [amd64] include: - goos: windows goarch: 386 steps: - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.19 - name: Check out code uses: actions/checkout@v3 - name: Install staticcheck run: "GOBIN=~/.local/bin go install honnef.co/go/tools/cmd/staticcheck" - name: Print staticcheck version run: "staticcheck -version" - name: "Run staticcheck (${{ matrix.goos }}/${{ matrix.goarch }})" env: GOOS: ${{ matrix.goos }} GOARCH: ${{ matrix.goarch }} run: "staticcheck -- $(go list ./... | grep -v tempfork)" - uses: k0kubun/action-slack@v2.0.0 with: payload: | { "attachments": [{ "text": "${{ job.status }}: ${{ github.workflow }} " + "() " + "of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}", "color": "danger" }] } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: failure() && github.event_name == 'push'