From b52cbcc9dc85e7e2fbe381ca1a77b5a4daa72cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 3 Jul 2024 16:58:52 +0200 Subject: [PATCH] cleanup: Generate proto with go generate only if `proto` tag is provided Avoids generating proto files unless explicitly requested. As per this it's now an error if the generation script is called during package build. --- .github/workflows/qa.yaml | 4 ++++ generate.go => generate_proto.go | 2 +- .../grpctestservice/{generate.go => generate_proto.go} | 2 +- pam/internal/gdm/generate_proto.go | 5 +++++ pam/internal/gdm/protocol.go | 2 -- pam/internal/proto/{generate.go => generate_proto.go} | 2 +- tools/generate-proto.sh | 2 +- 7 files changed, 13 insertions(+), 6 deletions(-) rename generate.go => generate_proto.go (84%) rename internal/daemon/testdata/grpctestservice/{generate.go => generate_proto.go} (85%) create mode 100644 pam/internal/gdm/generate_proto.go rename pam/internal/proto/{generate.go => generate_proto.go} (71%) diff --git a/.github/workflows/qa.yaml b/.github/workflows/qa.yaml index 06bbe43ed..fffb98a4c 100644 --- a/.github/workflows/qa.yaml +++ b/.github/workflows/qa.yaml @@ -45,6 +45,10 @@ jobs: run: | set -eu go run -tags pam_binary_cli ./pam login --exec-debug + - name: Generate Proto files + run: | + set -eu + go generate -x -tags proto ./... - name: Generate PAM module run: | set -eu diff --git a/generate.go b/generate_proto.go similarity index 84% rename from generate.go rename to generate_proto.go index eeed81936..7b5d4f162 100644 --- a/generate.go +++ b/generate_proto.go @@ -1,4 +1,4 @@ -//go:build generate +//go:build generate && proto //go:generate tools/generate-proto.sh --with-grpc authd.proto diff --git a/internal/daemon/testdata/grpctestservice/generate.go b/internal/daemon/testdata/grpctestservice/generate_proto.go similarity index 85% rename from internal/daemon/testdata/grpctestservice/generate.go rename to internal/daemon/testdata/grpctestservice/generate_proto.go index 164a92dd0..972baa2cb 100644 --- a/internal/daemon/testdata/grpctestservice/generate.go +++ b/internal/daemon/testdata/grpctestservice/generate_proto.go @@ -1,4 +1,4 @@ -//go:build generate +//go:build generate && proto //go:generate ../../../../tools/generate-proto.sh --with-grpc grpctestservice.proto diff --git a/pam/internal/gdm/generate_proto.go b/pam/internal/gdm/generate_proto.go new file mode 100644 index 000000000..d7c620042 --- /dev/null +++ b/pam/internal/gdm/generate_proto.go @@ -0,0 +1,5 @@ +//go:build generate && proto + +//go:generate ../../../tools/generate-proto.sh -I../../.. -I../proto gdm.proto + +package gdm diff --git a/pam/internal/gdm/protocol.go b/pam/internal/gdm/protocol.go index 1a46285fd..845a330e9 100644 --- a/pam/internal/gdm/protocol.go +++ b/pam/internal/gdm/protocol.go @@ -1,5 +1,3 @@ -//go:generate ../../../tools/generate-proto.sh -I../../.. -I../proto gdm.proto - // Package gdm is the package for the GDM pam module handing. package gdm diff --git a/pam/internal/proto/generate.go b/pam/internal/proto/generate_proto.go similarity index 71% rename from pam/internal/proto/generate.go rename to pam/internal/proto/generate_proto.go index 2ac123ae8..ee92045d4 100644 --- a/pam/internal/proto/generate.go +++ b/pam/internal/proto/generate_proto.go @@ -1,4 +1,4 @@ -//go:build generate +//go:build generate && proto //go:generate ../../../tools/generate-proto.sh pam.proto diff --git a/tools/generate-proto.sh b/tools/generate-proto.sh index 8f19a73b4..f390fe3dc 100755 --- a/tools/generate-proto.sh +++ b/tools/generate-proto.sh @@ -4,7 +4,7 @@ set -euo pipefail if [ -v DEB_HOST_GNU_TYPE ]; then echo "Proto files should not be regenerated during package building" - exit 0 + exit 1 fi # TODO: Watch https://github.com/protocolbuffers/protobuf for any changes on the