Skip to content

Commit

Permalink
chore: add github action to check diffs on generated bits
Browse files Browse the repository at this point in the history
For now, we're checking the diff of:
    go mod tidy
    make fmt
  • Loading branch information
jimlambrt committed Oct 2, 2023
1 parent bf3f33b commit 61bb87a
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 4 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/make-gen-delta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "make-gen-delta"
on:
- workflow_dispatch
- push
- workflow_call

permissions:
contents: read

jobs:
make-gen-delta:
name: "Check for uncommitted changes from make gen"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
fetch-depth: '0'
- name: Determine Go version
id: get-go-version
# We use .go-version as our source of truth for current Go
# version, because "goenv" can react to it automatically.
run: |
echo "Building with Go $(cat .go-version)"
echo "go-version=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- name: Set up Go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version: "${{ steps.get-go-version.outputs.go-version }}"
- name: Running go mod tidy
run: |
go mod tidy
- name: Install Dependencies
run: |
make tools
- name: Running make fmt
run: |
make fmt
- name: Check for changes
run: |
git diff --exit-code
git status --porcelain
test -z "$(git status --porcelain)"
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,7 @@ coverage:
cd coverage && \
./coverage.sh && \
if ./cov-diff.sh ./coverage.log; then git restore coverage.log; fi

.PHONY: tools
tools:
go generate -tags tools tools/tools.go
4 changes: 1 addition & 3 deletions expr.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,7 @@ const (
func newLogicalOp(s string) (logicalOp, error) {
const op = "newLogicalOp"
switch logicalOp(s) {
case
andOp,
orOp:
case andOp, orOp:
return logicalOp(s), nil
default:
return "", fmt.Errorf("%s: %w %q", op, ErrInvalidLogicalOp, s)
Expand Down
1 change: 0 additions & 1 deletion lex_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,6 @@ func Test_lexWhitespaceState(t *testing.T) {
assert.Equal(tc.want, tk)
})
}

}

// Fuzz_lexerNextToken is only focused on finding panics
Expand Down
1 change: 1 addition & 0 deletions mql_unexported_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ type invalidExpr struct{}
func (*invalidExpr) Type() exprType {
return unknownExprType
}

func (*invalidExpr) String() string {
return "unknown"
}
24 changes: 24 additions & 0 deletions tools/tools.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

//go:build tools
// +build tools

// This file ensures tool dependencies are kept in sync. This is the
// recommended way of doing this according to
// https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module
// To install the following tools at the version used by this repo run:
// $ make tools
// or
// $ go generate -tags tools tools/tools.go

package tools

// NOTE: This must not be indented, so to stop goimports from trying to be
// helpful, it's separated out from the import block below. Please try to keep
// them in the same order.
//go:generate go install mvdan.cc/gofumpt

import (
_ "mvdan.cc/gofumpt"
)

0 comments on commit 61bb87a

Please sign in to comment.