From 9d351f8112fc5c141b787eb354b98bc171e93af9 Mon Sep 17 00:00:00 2001 From: Jim Date: Thu, 12 Oct 2023 13:28:38 -0400 Subject: [PATCH] workflows: add make-gen-delta to chk for changes from 'make gen' (#486) --- .github/workflows/make-gen-delta.yml | 43 +++++++++++++++++++ Makefile | 15 +++++-- docs/data-sources/scope.md | 5 +-- .../{scope => boundary_scope}/data-source.tf | 0 go.mod | 4 +- go.sum | 9 ++-- internal/provider/data_source_scope.go | 3 ++ internal/provider/data_source_scope_test.go | 3 ++ tools/tools.go | 2 + 9 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/make-gen-delta.yml rename examples/data-sources/{scope => boundary_scope}/data-source.tf (100%) diff --git a/.github/workflows/make-gen-delta.yml b/.github/workflows/make-gen-delta.yml new file mode 100644 index 00000000..3254d634 --- /dev/null +++ b/.github/workflows/make-gen-delta.yml @@ -0,0 +1,43 @@ +name: "make-gen-delta" +on: + - workflow_dispatch + - push + - pull_request + - 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 gen + run: | + make gen + - name: Check for changes + run: | + git diff --exit-code + git status --porcelain + test -z "$(git status --porcelain)" diff --git a/Makefile b/Makefile index d61056d0..65d80694 100644 --- a/Makefile +++ b/Makefile @@ -23,9 +23,7 @@ GOMODCACHE ?= $(GOPATH)/pkg/mod tools: go generate -tags tools tools/tools.go - -fmtcheck: - echo "Placeholder" + go install github.com/hashicorp/copywrite@v0.15.0 test: echo "Placeholder" @@ -81,3 +79,14 @@ test-database-down: docker rm -v boundary-sql-tests || true .PHONY: testacc tools docs test-database-up test-database-down + +.PHONY: copywrite +copywrite: + copywrite headers + +.PHONY: fmt +fmt: + gofumpt -w $$(find . -name '*.go') + +.PHONY: gen +gen: docs copywrite fmt \ No newline at end of file diff --git a/docs/data-sources/scope.md b/docs/data-sources/scope.md index 76e4f733..7f3966df 100644 --- a/docs/data-sources/scope.md +++ b/docs/data-sources/scope.md @@ -9,13 +9,11 @@ description: |- # boundary_scope (Data Source) The scope data source allows you to discover an existing Boundary scope by name. -Please note that the Global scope will always have an id of "global", and does not need to be discovered with this data source. ## Example Usage -Basic usage: - ```terraform +# Retrieve the ID of a Boundary project data "boundary_scope" "org" { name = "SecOps" parent_scope_id = "global" @@ -27,7 +25,6 @@ data "boundary_scope" "project" { } ``` - ## Schema diff --git a/examples/data-sources/scope/data-source.tf b/examples/data-sources/boundary_scope/data-source.tf similarity index 100% rename from examples/data-sources/scope/data-source.tf rename to examples/data-sources/boundary_scope/data-source.tf diff --git a/go.mod b/go.mod index 230217cb..28bf745c 100644 --- a/go.mod +++ b/go.mod @@ -20,6 +20,7 @@ require ( github.com/mitchellh/go-homedir v1.1.0 github.com/stretchr/testify v1.8.4 golang.org/x/crypto v0.14.0 + mvdan.cc/gofumpt v0.5.0 ) require ( @@ -154,7 +155,7 @@ require ( github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.32.1 // indirect github.com/prometheus/procfs v0.7.3 // indirect - github.com/rogpeppe/go-internal v1.9.0 // indirect + github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/russross/blackfriday v1.6.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect github.com/sethvargo/go-diceware v0.3.0 // indirect @@ -175,6 +176,7 @@ require ( golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.10.0 // indirect + golang.org/x/sync v0.3.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/term v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect diff --git a/go.sum b/go.sum index f45dd0ad..d4baa6f1 100644 --- a/go.sum +++ b/go.sum @@ -170,8 +170,8 @@ github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= @@ -664,8 +664,9 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= @@ -1193,6 +1194,8 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E= +mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js= nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/internal/provider/data_source_scope.go b/internal/provider/data_source_scope.go index e97c0aa8..304c2d2e 100644 --- a/internal/provider/data_source_scope.go +++ b/internal/provider/data_source_scope.go @@ -1,3 +1,6 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + package provider import ( diff --git a/internal/provider/data_source_scope_test.go b/internal/provider/data_source_scope_test.go index b2e4b542..0a9dd6cd 100644 --- a/internal/provider/data_source_scope_test.go +++ b/internal/provider/data_source_scope_test.go @@ -1,3 +1,6 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + package provider import ( diff --git a/tools/tools.go b/tools/tools.go index f066ef60..c039651c 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -7,8 +7,10 @@ package tools //go:generate go install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs +//go:generate go install mvdan.cc/gofumpt import ( // docs generator _ "github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs" + _ "mvdan.cc/gofumpt" )