mirror of
https://github.com/versity/versitygw.git
synced 2026-01-08 20:43:07 +00:00
58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
name: general
|
|
permissions: {}
|
|
on: pull_request
|
|
jobs:
|
|
|
|
build:
|
|
name: Go Basic Checks
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: 'stable'
|
|
id: go
|
|
|
|
- name: Verify all files pass gofmt formatting
|
|
run: if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then gofmt -s -d .; exit 1; fi
|
|
|
|
- name: Get dependencies
|
|
run: |
|
|
go get -v -t -d ./...
|
|
|
|
- name: Test
|
|
run: go test -coverprofile profile.txt -race -v -timeout 30s -tags=github ./...
|
|
|
|
- name: Install govulncheck
|
|
run: go install golang.org/x/vuln/cmd/govulncheck@latest
|
|
shell: bash
|
|
|
|
- name: Run govulncheck
|
|
run: govulncheck ./...
|
|
shell: bash
|
|
|
|
verify-build:
|
|
name: Verify Build Targets
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
os: [darwin, freebsd, linux]
|
|
arch: [amd64, arm64]
|
|
steps:
|
|
|
|
- name: Check out code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: 'stable'
|
|
|
|
- name: Build for ${{ matrix.os }}/${{ matrix.arch }}
|
|
run: |
|
|
GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} go build -o versitygw-${{ matrix.os }}-${{ matrix.arch }} cmd/versitygw/*.go |