mirror of
https://github.com/versity/versitygw.git
synced 2026-09-23 00:14:15 +00:00
Cover the route error boundary with the real S3 server: the shared serializer keeps status and body for wrapped S3 errors, raw fiber errors stay 500, and the platform stub answers 501. The stub-answer classifier moves next to the shared marker type in the same commit so every build answers 501 at the point the test first runs, and the general CI workflow builds the session-server archive before go test, which the Linux link of this package now requires.
84 lines
2.0 KiB
YAML
84 lines
2.0 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@v7
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v7
|
|
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: Build RDMA session server archive
|
|
run: make rdma/librcserver.a
|
|
|
|
- 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, windows]
|
|
arch: [amd64, arm64]
|
|
steps:
|
|
|
|
- name: Check out code
|
|
uses: actions/checkout@v7
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v7
|
|
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
|
|
|
|
verify-plugins:
|
|
name: Verify Plugin Builds
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Check out code
|
|
uses: actions/checkout@v7
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v7
|
|
with:
|
|
go-version: 'stable'
|
|
|
|
- name: Build all plugins
|
|
run: |
|
|
for dir in plugins/*/; do
|
|
[ -f "${dir}"*.go ] || continue
|
|
echo "Building plugin: ${dir}"
|
|
go build -buildmode=plugin -o /dev/null ./"${dir}"
|
|
done
|