.github: update workflows

This commit is contained in:
Jimmy Zelinskie 2022-04-13 23:40:33 -04:00 committed by Leo Balduf
parent 956e7af11f
commit f8aa553d5c
2 changed files with 31 additions and 80 deletions

View file

@ -1,43 +1,49 @@
--- ---
name: "Build & Test" name: "Build & Test"
on: on: # yamllint disable-line rule:truthy
push: push:
branches: branches:
- "!dependabot/*" - "!dependabot/*"
- "main" - "*"
pull_request: pull_request:
branches: ["*"] branches:
- "*"
jobs: jobs:
build: build:
name: "Go Build" name: "Build Binary"
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
steps: steps:
- uses: "actions/checkout@v3" - uses: "actions/checkout@v3"
- uses: "actions/setup-go@v2" - uses: "actions/setup-go@v3"
with: with:
go-version: "^1.17" go-version: "^1.17"
- name: "Build" - uses: "authzed/actions/go-build@main"
run: "go build ./cmd/..."
image-build:
name: "Build Container Image"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v3"
- uses: "authzed/actions/docker-build@main"
unit: unit:
name: "Run Unit Tests" name: "Run Unit Tests"
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
steps: steps:
- uses: "actions/checkout@v3" - uses: "actions/checkout@v3"
- uses: "actions/setup-go@v2" - uses: "actions/setup-go@v3"
with: with:
go-version: "^1.17" go-version: "^1.18"
- name: "Run `go test`" - uses: "authzed/actions/go-test@main"
run: "go test -race ./..."
e2e-mem: e2e-mem:
name: "E2E Memory Tests" name: "E2E Memory Tests"
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
steps: steps:
- uses: "actions/checkout@v3" - uses: "actions/checkout@v3"
- uses: "actions/setup-go@v2" - uses: "actions/setup-go@v3"
with: with:
go-version: "^1.17" go-version: "^1.18"
- name: "Install and configure chihaya" - name: "Install and configure chihaya"
run: | run: |
go install ./cmd/chihaya go install ./cmd/chihaya
@ -60,9 +66,9 @@ jobs:
options: "--entrypoint redis-server" options: "--entrypoint redis-server"
steps: steps:
- uses: "actions/checkout@v3" - uses: "actions/checkout@v3"
- uses: "actions/setup-go@v2" - uses: "actions/setup-go@v3"
with: with:
go-version: "^1.17" go-version: "^1.18"
- name: "Install and configure chihaya" - name: "Install and configure chihaya"
run: | run: |
go install ./cmd/chihaya go install ./cmd/chihaya
@ -78,20 +84,6 @@ jobs:
chihaya e2e --debug chihaya e2e --debug
kill $pid kill $pid
image-build:
name: "Docker Build"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v3"
- uses: "docker/setup-qemu-action@v1"
- uses: "docker/setup-buildx-action@v1"
with:
driver-opts: "image=moby/buildkit:master"
- uses: "docker/build-push-action@v1"
with:
push: false
tags: "latest"
helm: helm:
name: "Helm Template" name: "Helm Template"
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"

View file

@ -1,6 +1,6 @@
--- ---
name: "Lint" name: "Lint"
on: on: # yamllint disable-line rule:truthy
push: push:
branches: branches:
- "!dependabot/*" - "!dependabot/*"
@ -8,63 +8,26 @@ on:
pull_request: pull_request:
branches: ["*"] branches: ["*"]
jobs: jobs:
go-mod-tidy:
name: "Lint Go Modules"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v3"
- uses: "actions/setup-go@v2"
with:
go-version: "^1.17"
- name: "Run `go mod tidy`"
run: "go mod tidy && bash -c '[ $(git status --porcelain | tee /dev/fd/2 | wc -c) -eq 0 ]'"
go-fmt:
name: "Format Go"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v3"
- uses: "actions/setup-go@v2"
with:
go-version: "^1.17"
- name: "Install gofumpt"
run: "go install mvdan.cc/gofumpt@latest"
- name: "Run `gofumpt`"
run: |
GOFUMPT_OUTPUT="$(find . -iname '*.go' -type f | xargs gofumpt -d)"
if [ -n "$GOFUMPT_OUTPUT" ]; then
echo "The following files are not correctly formatted:"
echo "${GOFUMPT_OUTPUT}"
exit 1
fi
go-lint: go-lint:
name: "Lint Go" name: "Lint Go"
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
steps: steps:
- uses: "actions/checkout@v3" - uses: "actions/checkout@v3"
- uses: "actions/setup-go@v2" - uses: "actions/setup-go@v3"
with: with:
go-version: "^1.17" go-version: "^1.18"
- uses: "golangci/golangci-lint-action@v2" - uses: "authzed/actions/gofumpt@main"
with: - uses: "authzed/actions/go-mod-tidy@main"
version: "v1.43" - uses: "authzed/actions/go-generate@main"
skip-go-installation: true - uses: "authzed/actions/golangci-lint@main"
skip-pkg-cache: true
skip-build-cache: false
extra-lint: extra-lint:
name: "Lint YAML & Markdown" name: "Lint YAML & Markdown"
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
steps: steps:
- uses: "actions/checkout@v3" - uses: "actions/checkout@v3"
- uses: "bewuethr/yamllint-action@v1.1.1" - uses: "authzed/actions/yaml-lint@main"
with: - uses: "authzed/actions/markdown-lint@main"
config-file: ".yamllint"
- uses: "nosborn/github-action-markdown-cli@v2.0.0"
with:
files: "."
config_file: ".markdownlint.yaml"
codeql: codeql:
name: "Analyze with CodeQL" name: "Analyze with CodeQL"
@ -79,8 +42,4 @@ jobs:
language: ["go"] language: ["go"]
steps: steps:
- uses: "actions/checkout@v3" - uses: "actions/checkout@v3"
- uses: "github/codeql-action/init@v1" - uses: "authzed/actions/codeql@main"
with:
languages: "${{ matrix.language }}"
- uses: "github/codeql-action/autobuild@v1"
- uses: "github/codeql-action/analyze@v1"