Skip to content

Set go version with shareable workflow. #110

Set go version with shareable workflow.

Set go version with shareable workflow. #110

Workflow file for this run

name: Build and Run Tests
on: [pull_request]
jobs:
go-version:
uses: ./.github/workflows/go-version.yml
build:
name: Code generation & compile
needs: go-version
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-2019, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ needs.go-version.outputs.go_version }}
- name: Generate protos and build project
run: make generate-protos-and-build
- name: Misc tests
run: make misc
tests:
needs: build
name: Tests
strategy:
fail-fast: false
matrix:
version: [previous-lts, lts, latest]
uses: ./.github/workflows/tests.yml
with:
esdb_version: ${{ matrix.version }}
go_version: ${{ needs.go-version.outputs.go_version }}
linting:
needs: tests
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Linting
run: go vet ./...
- name: Code formatting checks
run: diff -u <(echo -n) <(goimports -d ./)