Scaffolding

This commit is contained in:
altafan
2023-10-30 14:43:51 +01:00
commit bd6199a787
32 changed files with 567 additions and 0 deletions

19
.github/workflows/ci.intergation.yaml vendored Executable file
View File

@@ -0,0 +1,19 @@
name: ci_integration
on:
push:
branches: [master]
jobs:
test:
name: integration tests
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: ">1.17.2"
- uses: actions/checkout@v3
- run: go get -v -t -d ./...
- name: integration testing
run: make integrationtest

32
.github/workflows/ci.unit.yaml vendored Executable file
View File

@@ -0,0 +1,32 @@
name: ci_unit
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
test:
name: unit tests
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: ">1.17.2"
- uses: actions/checkout@v3
- name: check linting
uses: golangci/golangci-lint-action@v3
with:
version: v1.54
- name: check code integrity
uses: securego/gosec@master
with:
args: '-severity high -quiet ./...'
- uses: bufbuild/buf-setup-action@v1.3.1
- name: check proto linting
run: make proto-lint
- run: go get -v -t -d ./...
- name: unit testing
run: make test

47
.github/workflows/release.yaml vendored Executable file
View File

@@ -0,0 +1,47 @@
name: release
on:
workflow_dispatch:
push:
tags:
- "*"
jobs:
goreleaser:
runs-on: ubuntu-20.04
env:
DOCKER_CLI_EXPERIMENTAL: "enabled"
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-go@v3
with:
go-version: ">1.17.2"
- uses: actions/cache@v1
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: release artifacts
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist --debug
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
- uses: bufbuild/buf-setup-action@v1.3.1
- name: release protos
uses: bufbuild/buf-push-action@v1
with:
input: api-spec/protobuf
buf_token: ${{ secrets.BUF_TOKEN }}