From 434028c668258852fd3ccd4f2c034eb078db45bb Mon Sep 17 00:00:00 2001 From: Daniel Antos Date: Sat, 4 Nov 2023 18:36:19 +0100 Subject: [PATCH] feat(ci): fail if there are changed files --- .github/workflows/gen.yaml | 37 +++++++++++++++++++++++++++++++++ internal/db/models/payslips.go | 2 ++ internal/grpc/payrollService.go | 1 + 3 files changed, 40 insertions(+) create mode 100644 .github/workflows/gen.yaml diff --git a/.github/workflows/gen.yaml b/.github/workflows/gen.yaml new file mode 100644 index 0000000..8b02c41 --- /dev/null +++ b/.github/workflows/gen.yaml @@ -0,0 +1,37 @@ +name: Check generated files + +on: [push] + +jobs: + gen: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.21' + + - name: Install tools + run: make install + + - name: Generate code + run: | + # We need to start database so that sqlboiler can generate code + docker compose up db migrate -d + # Wait for migrations to pass + docker wait go-presentation-generate-code-migrate-1 + # Generate code + make generate + # Cleanup + docker compose down + + - name: Fail if there are changed files + run: | + $CHANGED_FILES=$(git diff --name-only) + if [ -n "$CHANGED_FILES" ]; then + echo "Your generated files are off. Don't forget to run 'make generate'" + echo "$CHANGED_FILES" + exit 1 + fi diff --git a/internal/db/models/payslips.go b/internal/db/models/payslips.go index 5709715..1bf3129 100644 --- a/internal/db/models/payslips.go +++ b/internal/db/models/payslips.go @@ -1,6 +1,8 @@ // Code generated by SQLBoiler 4.15.0 (https://github.com/volatiletech/sqlboiler). DO NOT EDIT. // This file is meant to be re-generated in place and/or deleted at any time. +// some change + package models import ( diff --git a/internal/grpc/payrollService.go b/internal/grpc/payrollService.go index 2e9444b..ec481d4 100644 --- a/internal/grpc/payrollService.go +++ b/internal/grpc/payrollService.go @@ -12,6 +12,7 @@ import ( ) //go:generate mockgen -source payrollService.go -destination mocks/mocks.go -package mocks + //go:generate gowrap gen -g -p ../../gen/grpc/payroll/payrollv1/payrollv1connect -i PayrollServiceHandler -t ./../../templates/log -o payrollServiceWithLogs.go type payrollServiceServer struct {