forked from quic-go/quic-go
run the check for go generated files on Github Actions instead of Travis
This commit is contained in:
21
.github/workflows/go-generate.sh
vendored
Executable file
21
.github/workflows/go-generate.sh
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
find . -type f -name "*.go" -exec shasum {} \; > checksums_before.txt
|
||||
# delete all go-generated files generated (that adhere to the comment convention)
|
||||
grep --include \*.go --exclude-dir quictrace/ -lrIZ "^// Code generated .* DO NOT EDIT\.$" . | xargs --null rm
|
||||
# delete all files generated by Genny
|
||||
grep --include \*.go -lrIZ "This file was automatically generated by genny." . | xargs --null rm
|
||||
# first generate Genny files to make the code compile
|
||||
grep --include \*.go -lrI "//go:generate genny" | xargs -L 1 go generate
|
||||
# now generate everything
|
||||
go generate ./...
|
||||
find . -type f -name "*.go" -exec shasum {} \; > checksums_after.txt
|
||||
DIFF=$(diff checksums_before.txt checksums_after.txt) || true
|
||||
echo "$DIFF"
|
||||
if [ -n "$DIFF" ]; then
|
||||
exit 1
|
||||
else
|
||||
echo "All generated files match."
|
||||
fi
|
||||
19
.github/workflows/go-generate.yml
vendored
Normal file
19
.github/workflows/go-generate.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
gogenerate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2.1.1
|
||||
- name: Install dependencies
|
||||
run: go build
|
||||
- name: Install code generators
|
||||
run: |
|
||||
go install -v github.com/cheekybits/genny
|
||||
go install -v github.com/golang/mock/mockgen
|
||||
go install -v golang.org/x/tools/cmd/goimports
|
||||
- name: Run code generators
|
||||
run: |
|
||||
export GOPATH=$(go env GOPATH)
|
||||
export PATH=$PATH:$GOPATH/bin
|
||||
.github/workflows/go-generate.sh
|
||||
Reference in New Issue
Block a user