diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 00000000..1e909cd3 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,40 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: Build and Test +on: [push, pull_request] +jobs: + build: + 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 apt-get dependencies + run: sudo apt-get install -y ffmpeg libmp3lame-dev + + - name: Install Protoc + uses: arduino/setup-protoc@v3 + + - name: Install go tooling + run: | + go install github.com/matryer/moq@latest + go install google.golang.org/protobuf/cmd/protoc-gen-go@latest + go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest + go install honnef.co/go/tools/cmd/staticcheck@latest + + - name: Generate + run: go generate + + - name: Build + run: go build -v ./... + + - name: Staticcheck + run: staticcheck ./... + + - name: Test + run: go test -v ./...