Skip to content

fix(ssh-gateway): restore API base URL config #154

fix(ssh-gateway): restore API base URL config

fix(ssh-gateway): restore API base URL config #154

Workflow file for this run

name: Go PR Quality
on:
pull_request:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
GOLANGCI_LINT_VERSION: v2.11.3
jobs:
docs:
name: Generated Docs
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
check-latest: true
cache: true
- name: Regenerate Swagger docs
run: go generate ./cmd/api
- name: Regenerate ent code
run: go run entc.go
- name: Verify generated artifacts are committed
run: git diff --exit-code
format:
name: Format and Modules
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
check-latest: true
cache: true
- name: Verify gofmt
run: |
unformatted="$(gofmt -l .)"
if [ -n "$unformatted" ]; then
echo "These files need gofmt:"
echo "$unformatted"
exit 1
fi
- name: Verify go.mod / go.sum
run: go mod tidy -diff
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
check-latest: true
cache: true
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: ${{ env.GOLANGCI_LINT_VERSION }}
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
check-latest: true
cache: true
- name: Run tests
run: go test ./...
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
include:
- name: api
output: server
target: ./cmd/api/main.go
- name: ns-proxy
output: ns-proxy
target: ./cmd/ns-proxy
- name: ssh-gateway
output: ssh-gateway
target: ./cmd/ssh-gateway
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
check-latest: true
cache: true
- name: Build ${{ matrix.name }}
run: GOOS=linux GOARCH=amd64 go build -v -o "${{ matrix.output }}" "${{ matrix.target }}"
vuln:
name: Vulnerability Scan
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
check-latest: true
cache: true
- name: Add Go bin to PATH
run: echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH"
- name: Install govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Run govulncheck
run: govulncheck ./...