Skip to content

Commit

Permalink
Update Buf actions (#1739)
Browse files Browse the repository at this point in the history
  • Loading branch information
hariso authored Aug 14, 2024
1 parent d4e6177 commit 891178b
Show file tree
Hide file tree
Showing 8 changed files with 243 additions and 278 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/buf-push.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: buf-push

on:
push:
branches:
- main
paths:
- 'proto/**'

jobs:
push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

# This step sets up the variable steps.buf-version.outputs.v
# to contain the version of Buf (e.g. v1.36.0) from go.mod.
- name: Get Buf version
id: buf-version
run: |
BUF_VERSION=$( go list -m -f '{{.Version}}' github.com/bufbuild/buf )
# remove the leading 'v' in front of the version
BUF_VERSION=${BUF_VERSION#v}
echo "v=$BUF_VERSION" >> "$GITHUB_OUTPUT"
- uses: bufbuild/buf-action@v1
with:
version: ${{ steps.buf-version.outputs.v }}
token: ${{ secrets.BUF_TOKEN }}
input: 'proto'
# The repository should already exist.
# If it can be automatically created, that's a sign that it was deleted,
# which is likely a major issue, which we want to be aware of.
push_disable_create: true
33 changes: 33 additions & 0 deletions .github/workflows/buf-validate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: buf-validate

on:
pull_request:
# 'labeled' and 'unlabeled' are included so we can use the 'Buf Skip Breaking' label
# and skip a breaking change if that's required.
# See: https://github.com/bufbuild/buf-action?tab=readme-ov-file#skip-the-breaking-change-detection-step
types: [opened, synchronize, reopened, labeled, unlabeled]
paths:
- 'proto/**'

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

# This step sets up the variable steps.buf-version.outputs.v
# to contain the version of Buf (e.g. v1.36.0) from go.mod.
- name: Get Buf version
id: buf-version
run: |
BUF_VERSION=$( go list -m -f '{{.Version}}' github.com/bufbuild/buf )
# remove the leading 'v' in front of the version
BUF_VERSION=${BUF_VERSION#v}
echo "v=$BUF_VERSION" >> "$GITHUB_OUTPUT"
- uses: bufbuild/buf-action@v1
with:
version: ${{ steps.buf-version.outputs.v }}
token: ${{ secrets.BUF_TOKEN }}
input: 'proto'
push: false
breaking_against: '${{ github.event.repository.clone_url }}#branch=main,subdir=proto'
45 changes: 0 additions & 45 deletions .github/workflows/buf.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .github/workflows/validate-generated-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
go-version-file: 'go.mod'

- name: Check generated files
env:
BUF_TOKEN: ${{ secrets.BUF_TOKEN }}
run: |
export PATH=$PATH:$(go env GOPATH)/bin
make install-tools generate proto-generate
Expand Down
8 changes: 6 additions & 2 deletions proto/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ the [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway).

## Client code

The client code for Conduit's API is available as a [Buf remote package](https://docs.buf.build/bsr/remote-packages/go).
Proto files are pushed to the Buf Schema Registry via a GitHub workflow defined [here](/.github/workflows/buf.yml).
The client code for Conduit's API is available as
a [Buf remote package](https://docs.buf.build/bsr/remote-packages/go). Proto
files are validates through the GitHub workflow defined
in [buf-validate.yaml](/.github/workflows/buf-validate.yaml) and pushed to the
Buf Schema Registry via the workflow defined
in [buf-push](/.github/workflows/buf-push.yaml).

To use the client code, firstly run:

Expand Down
26 changes: 13 additions & 13 deletions proto/api/v1/api.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 891178b

Please sign in to comment.