Skip to content

perf(admin): modernize DescribeCluster RPC handling #3680

perf(admin): modernize DescribeCluster RPC handling

perf(admin): modernize DescribeCluster RPC handling #3680

Workflow file for this run

name: CI
on:
merge_group:
push:
branches:
- main
paths-ignore:
- '**/*.md'
pull_request:
branches:
- "**"
paths-ignore:
- '**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
permissions:
contents: read # for actions/checkout to fetch code
env:
# Use the Go toolchain installed by setup-go
GOTOOLCHAIN: local
# renovate: datasource=github-releases depName=golangci/golangci-lint
GOLANGCI_LINT_VERSION: v2.5.0
# renovate: datasource=github-releases depName=dominikh/go-tools
STATICCHECK_VERSION: 2025.1.1
# renovate: datasource=github-releases depName=mfridman/tparse
TPARSE_VERSION: v0.18.0
jobs:
lint:
permissions:
contents: read # for actions/checkout to fetch code
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
name: Linting with Go ${{ matrix.go-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go-version: [stable]
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ matrix.go-version }}
- name: Staticcheck
shell: bash
env:
BUILDTAGS: "functional"
run: |
go install "honnef.co/go/tools/cmd/staticcheck@${STATICCHECK_VERSION}"
echo "::add-matcher::./.github/actions/staticcheck-matchers.json"
$(go env GOPATH)/bin/staticcheck -tags "${BUILDTAGS}" ./...
- name: golangci-lint
env:
GOFLAGS: -tags=functional
uses: golangci/golangci-lint-action@e7fa5ac41e1cf5b7d48e45e42232ce7ada589601 # v9.1.0
with:
version: ${{ env.GOLANGCI_LINT_VERSION }}
test:
name: Unit Testing with Go ${{ matrix.go-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go-version: [oldstable, stable]
env:
DEBUG: true
GOFLAGS: -trimpath
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ matrix.go-version }}
- name: Test (Unit)
run: make test
- name: Report Test Results
if: always()
run: |
go run github.com/mfridman/tparse@${TPARSE_VERSION} -all -format markdown -file _test/unittests.json | tee -a $GITHUB_STEP_SUMMARY
- name: Report Per Func Test Coverage
if: always()
run: |
cat >>$GITHUB_STEP_SUMMARY <<EOF
<details>
<summary>Click for per-func code coverage</summary>
|Filename|Function|Coverage|
|--------|--------|--------|
$(go tool cover -func=profile.out | sed -E -e 's/[[:space:]]+/|/g' -e 's/$/|/g' -e 's/^/|/g')
</details>
EOF