Skip to content

Commit

Permalink
work on
Browse files Browse the repository at this point in the history
  • Loading branch information
khorevaa committed Sep 7, 2021
1 parent 0133678 commit ca08132
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 25 deletions.
14 changes: 14 additions & 0 deletions .github/workflows/buf.yaml
@@ -0,0 +1,14 @@
name: buf-push
on:
push:
tags:
- '*'
jobs:
push-changes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bufbuild/buf-setup-action@v0.3.1
- uses: bufbuild/buf-push-action@v0.3.0
with:
buf_token: ${{ secrets.BUF_TOKEN }}
33 changes: 33 additions & 0 deletions .github/workflows/generate.yaml
@@ -0,0 +1,33 @@
name: generate-prtos
on:
push:
paths:
- 'encodingapis/**/*.*'
- '*.proto'
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bufbuild/buf-setup-action@v0.3.1
-
name: Buf generate
if: success()
run: |
buf generate
-
name: Set up Git
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name GitHub
git config user.email noreply@github.com
git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
-
name: Commit and push changes
run: |
git add .
if output=$(git status --porcelain) && [ ! -z "$output" ]; then
git commit --author "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>" --message "buf generate"
git push
fi
45 changes: 45 additions & 0 deletions .github/workflows/releaser.yaml
@@ -0,0 +1,45 @@
name: goreleaser

on:
pull_request:
push:
tags:
- '*'
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.17
-
name: Docker Login
if: success() && startsWith(github.ref, 'refs/tags/v')
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
run: |
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
echo "${GITHUB_TOKEN}" | docker login ghcr.io --username $GITHUB_ACTOR --password-stdin
echo "${BUF_TOKEN}" | docker login plugins.buf.build --username "${BUF_USERNAME}" --password-stdin
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
name: Clear
if: always() && startsWith(github.ref, 'refs/tags/v')
run: |
rm -f ${HOME}/.docker/config.json
22 changes: 22 additions & 0 deletions .github/workflows/test.yml
@@ -0,0 +1,22 @@
on: [push, pull_request]
name: Test
jobs:
Build:
strategy:
matrix:
go-version: [1.17.x]
platform: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Fetch Repository
uses: actions/checkout@v2
- name: Setup modules
run: |
go mod tidy
- name: Run Test
run: |
go test -race
17 changes: 7 additions & 10 deletions .goreleaser.yaml
Expand Up @@ -2,7 +2,6 @@ project_name: protoc-gen-go-ras

env:
- GO111MODULE=on
# - GOPROXY=https://goproxy.io
before:
hooks:
- go mod tidy
Expand All @@ -14,10 +13,8 @@ builds:
- darwin
- windows
goarch:
# - 386
- amd64
# - arm
# - arm64

dist: dist

checksum:
Expand All @@ -32,12 +29,12 @@ changelog:
- Merge branch
dockers:
- image_templates:
- 'khorevaa/{{.ProjectName}}:{{ .Tag }}'
- 'khorevaa/{{.ProjectName}}:v{{ .Major }}.{{ .Minor }}'
- 'khorevaa/{{.ProjectName}}:latest'
# - 'ghcr.io/khorevaa/{{.ProjectName}}:{{ .Tag }}'
# - 'ghcr.io/khorevaa/{{.ProjectName}}:v{{ .Major }}.{{ .Minor }}'
# - 'ghcr.io/khorevaa/{{.ProjectName}}:latest'
- 'v8platform/{{.ProjectName}}:{{ .Tag }}'
- 'v8platform/{{.ProjectName}}:v{{ .Major }}.{{ .Minor }}'
- 'v8platform/{{.ProjectName}}:latest'
- 'ghcr.io/v8platform/{{.ProjectName}}:{{ .Tag }}'
- 'ghcr.io/v8platform/{{.ProjectName}}:v{{ .Major }}.{{ .Minor }}'
- 'ghcr.io/v8platform/{{.ProjectName}}:latest'
- 'plugins.buf.build/v8platform/{{.ProjectName}}:{{ .Tag }}'
- 'plugins.buf.build/v8platform/{{.ProjectName}}:v{{ .Major }}.{{ .Minor }}'
- 'plugins.buf.build/v8platform/{{.ProjectName}}:latest'
Expand Down
51 changes: 50 additions & 1 deletion README.md
@@ -1 +1,50 @@
# protoc-gen-go-ras
# protoc-gen-go-ras

[![Release](https://img.shields.io/github/release/v8platform/protoc-gen-go-ras.svg?style=for-the-badge)](https://github.com/v8platform/protoc-gen-go-ras/releases/latest)
[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=for-the-badge)](/LICENSE.md)
[![Build status](https://img.shields.io/github/workflow/status/v8platform/protoc-gen-go-ras/goreleaser?style=for-the-badge)](https://github.com/v8platform/protoc-gen-go-ras/actions?workflow=goreleaser)
[![Codecov branch](https://img.shields.io/codecov/c/github/v8platform/protoc-gen-go-ras/master.svg?style=for-the-badge)](https://codecov.io/gh/v8platform/protoc-gen-go-ras)
[![Go Doc](https://img.shields.io/badge/godoc-reference-blue.svg?style=for-the-badge)](http://godoc.org/github.com/v8platform/protoc-gen-go-ras)
[![SayThanks.io](https://img.shields.io/badge/SayThanks.io-%E2%98%BC-1EAEDB.svg?style=for-the-badge)](https://saythanks.io/to/khorevaa)
[![Powered By: GoReleaser](https://img.shields.io/badge/powered%20by-goreleaser-green.svg?style=for-the-badge)](https://github.com/goreleaser)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)

## Описание

Это плагин для `protoc` и требует его установки

Обеспечивает генерация методов и различных помощников для RAS

Создает следующие методы для `proto` файлов

```go
func (m *message) Parse(r io.Reader, veriosn int32) err {
// Сгенерированный код
}

func (m *message) Formatter(w io.Writer, veriosn int32) err {
// Сгенерированный код
}
```


## Как установить

* Установить из [`releases`](https://github.com/v8platform/protoc-gen-go-ras/releases/)
* Использовать готовый образ `docker`
* `docker pull v8platform/protoc-gen-go-ras:latest`
* `docker pull ghcr.io/v8platform/protoc-gen-go-ras:latest`
* Сборка для через `go get`
```shell
go get github.com/v8platform/protoc-gen-go-ras/...
go install github.com/v8platform/protoc-gen-go-ras
```

### Описание возможностей

TODO


## License

Лицензия [`LICENSE`](LICENSE)
8 changes: 1 addition & 7 deletions go.mod
Expand Up @@ -5,17 +5,11 @@ go 1.17
require (
github.com/k0kubun/pp v3.0.1+incompatible
github.com/spf13/cast v1.4.1
github.com/v8platform/encoder v0.0.0-20210830084048-75ecfcb84e16
github.com/v8platform/encoder v0.0.3
google.golang.org/protobuf v1.27.1
)

//replace github.com/v8platform/encoder v0.0.0-20210830084048-75ecfcb84e16 => ../encoder

require (
github.com/google/go-cmp v0.5.6 // indirect
github.com/mattn/go-colorable v0.1.8 // indirect
github.com/mattn/go-isatty v0.0.12 // indirect
github.com/satori/go.uuid v1.2.0 // indirect
golang.org/x/sys v0.0.0-20210510120138-977fb7262007 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
)
7 changes: 4 additions & 3 deletions go.sum
Expand Up @@ -5,6 +5,7 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
Expand All @@ -24,14 +25,14 @@ github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA=
github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/v8platform/encoder v0.0.0-20210830084048-75ecfcb84e16 h1:LwOQF6zSu1j3ktifNPYJQrobD+O3eFWdjcNIvqPIOh0=
github.com/v8platform/encoder v0.0.0-20210830084048-75ecfcb84e16/go.mod h1:g6fd9SvAvmvi28QLQ6tzkoxbrh1xPGDNr+SDHINjAkI=
github.com/v8platform/encoder v0.0.3 h1:iqNmisoePgWUKNij7FmH6u2nY0StrjGjuqAINeeDDSQ=
github.com/v8platform/encoder v0.0.3/go.mod h1:/Ki7kVtFEtydZaIOZ7lbV+L20r4ikPRDrUE+2qZlFPA=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
Expand Down
11 changes: 7 additions & 4 deletions tests/buf.gen.yaml
Expand Up @@ -9,9 +9,12 @@ managed:
# - googleapies/google/api

plugins:
# - name: go
# out: ./gen
# opt: paths=source_relative
# - name: go-ras
# out: ./gen
# opt: paths=source_relative
- name: go
out: ./gen
opt: paths=source_relative
- name: go-ras
out: ./gen
opt: paths=source_relative
opt: paths=source_relative
10 changes: 10 additions & 0 deletions tests/buf.lock
@@ -0,0 +1,10 @@
# Generated by buf. DO NOT EDIT.
version: v1
deps:
- remote: buf.build
owner: v8platform
repository: encodingapis
branch: main
commit: ed9a75c1223f43759e3c7be9067aa8ac
digest: b1-kAStsQhzYGPt2Wk8ZNCl6KYUNoKQS1JwwwgpEXLPyZs=
create_time: 2021-09-02T12:20:10.287435Z

0 comments on commit ca08132

Please sign in to comment.