backend: Add create commit method for GitHub (#3105) #7335
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: backend | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
paths: | |
- 'backend/**' | |
- .github/workflows/backend.yml | |
- tools/golangci-lint.sh | |
- Makefile | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v3 | |
id: setup-go | |
with: | |
go-version: 1.22.x | |
- name: go mod cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-mod-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-mod- | |
- name: go build cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/go-build | |
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-build-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-build- | |
- run: make backend | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v3 | |
id: setup-go | |
with: | |
go-version: 1.22.x | |
- name: go mod cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-mod-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-mod- | |
- name: go test cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/go-build | |
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-test-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-test- | |
- run: make backend-test | |
env: | |
GOFLAGS: "-count=1" # idiomatic way to disable test caching so they always run | |
- run: make backend-config-validation | |
integration-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v3 | |
id: setup-go | |
with: | |
go-version: 1.22.x | |
- run: make backend-integration-test | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v3 | |
id: setup-go | |
with: | |
go-version: 1.22.x | |
- name: go mod cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-mod-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-mod- | |
- name: go lint cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/go-build | |
~/.cache/golangci-lint | |
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-lint-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-lint- | |
- run: make backend-lint | |
- run: make backend-verify |