From b643af2f3d9a9c6b4b99d2c014457931d038f281 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Mon, 20 Apr 2026 19:11:24 +0200 Subject: [PATCH] Try using buf Signed-off-by: Nikolai Rodionov --- .woodpecker/lint.yaml | 8 +-- README.md | 6 +-- Taskfile.yml | 73 ++------------------------ buf.gen.yaml | 22 ++++++++ buf.yaml | 3 ++ proto/{ => accounts}/accounts_v1.proto | 0 6 files changed, 35 insertions(+), 77 deletions(-) create mode 100644 buf.gen.yaml create mode 100644 buf.yaml rename proto/{ => accounts}/accounts_v1.proto (100%) diff --git a/.woodpecker/lint.yaml b/.woodpecker/lint.yaml index fc76642..37d3fe5 100644 --- a/.woodpecker/lint.yaml +++ b/.woodpecker/lint.yaml @@ -6,10 +6,6 @@ when: steps: lint: name: Lint protobufs - image: golang:1.26.2-alpine3.22 + image: bufbuild/buf commands: - - apk update - - apk add bash curl - - curl -1sLf 'https://dl.cloudsmith.io/public/task/task/setup.alpine.sh' | bash - - apk add task - - task lint + - buf lint diff --git a/README.md b/README.md index 285fe4a..1bb45b6 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## Table of Contents -- [accounts_v1.proto](#accounts_v1-proto) +- [accounts/accounts_v1.proto](#accounts_accounts_v1-proto) - [AccountData](#accounts-AccountData) - [AccountFull](#accounts-AccountFull) - [AccountFullWithToken](#accounts-AccountFullWithToken) @@ -19,10 +19,10 @@ - +

Top

-## accounts_v1.proto +## accounts/accounts_v1.proto This file has messages for describing environments diff --git a/Taskfile.yml b/Taskfile.yml index 030e39a..35ce39a 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -2,75 +2,12 @@ version: "3" -vars: - LOCALBIN: - sh: echo "$(pwd)/bin" - CONTAINER_TOOL: '{{.CONTAINER_TOOL | default "podman"}}' - # Tools - PROTODOC: "{{.LOCALBIN}}/protodoc" - PROTOLINT: "{{.LOCALBIN}}/protolint" tasks: lint: - desc: Run linter in a container - deps: - - protolint - cmd: '"{{.PROTOLINT}}" lint $(find . -type f -iname "*.proto")' - - gen-docs: - desc: Generate docs in a container - deps: - - protodoc - cmd: '"{{.PROTODOC}}" --doc_opt=markdown,README.md' - - # Install required tools - localbin: - desc: Create local bin directory + desc: Run linter silent: true - cmds: - - mkdir -p "{{.LOCALBIN}}" - - protodoc: - desc: Install protodoc + cmd: buf lint + generate: + desc: Generate code silent: true - deps: - - localbin - cmds: - - task: go-install-tool - vars: - TARGET: "{{.PROTODOC}}" - PACKAGE: go.etcd.io/protodoc - VERSION: "latest" - - protolint: - desc: Install protolint - silent: true - deps: - - localbin - cmds: - - task: go-install-tool - vars: - TARGET: "{{.PROTOLINT}}" - PACKAGE: github.com/yoheimuta/protolint/cmd/protolint - VERSION: "latest" - - go-install-tool: - internal: true - silent: true - cmd: |- - set -e - TARGET="{{.TARGET}}" - PACKAGE="{{.PACKAGE}}@{{.VERSION}}" - VERSIONED="${TARGET}-{{.VERSION}}" - - if [ -f "$VERSIONED" ] && [ "$(readlink -- "$TARGET" 2>/dev/null)" = "$VERSIONED" ]; then - echo "$PACKAGE already installed" - exit 0 - fi - - echo "Downloading $PACKAGE" - rm -f "$TARGET" - - GOBIN="{{.LOCALBIN}}" go install "$PACKAGE" - - mv "{{.LOCALBIN}}/$(basename "$TARGET")" "$VERSIONED" - ln -sf "$(realpath "$VERSIONED")" "$TARGET" + cmd: buf generate diff --git a/buf.gen.yaml b/buf.gen.yaml new file mode 100644 index 0000000..4a1a686 --- /dev/null +++ b/buf.gen.yaml @@ -0,0 +1,22 @@ +version: v2 +plugins: + - remote: buf.build/bufbuild/es + out: gen/ts + opt: + - target=ts + + - remote: buf.build/protocolbuffers/go + out: gen/go + opt: + - paths=source_relative + + - remote: buf.build/grpc/go + out: gen/go + opt: + - paths=source_relative + - require_unimplemented_servers=false + + - remote: buf.build/community/pseudomuto-doc:v1.5.1 + out: gen + opt: + - markdown,README.md diff --git a/buf.yaml b/buf.yaml new file mode 100644 index 0000000..ba5ddf5 --- /dev/null +++ b/buf.yaml @@ -0,0 +1,3 @@ +version: v2 +modules: + - path: proto diff --git a/proto/accounts_v1.proto b/proto/accounts/accounts_v1.proto similarity index 100% rename from proto/accounts_v1.proto rename to proto/accounts/accounts_v1.proto