CI #2310
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| pull_request: | |
| paths: | |
| - apps/cli-go/** | |
| merge_group: | |
| push: | |
| branches: | |
| - develop | |
| paths: | |
| - apps/cli-go/** | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: blacksmith-8vcpu-ubuntu-2404 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: apps/cli-go/go.mod | |
| cache: true | |
| # Required by: internal/utils/credentials/keyring_test.go | |
| - uses: t1m0thyj/unlock-keyring@cbcf205c879ebd86add70bab3a6abfcce59a5cae # v1.2.0 | |
| - run: | | |
| pkgs=$(go list ./pkg/... | grep -Ev 'pkg/api' | paste -sd ',' -) | |
| go tool gotestsum -- -race -v -count=1 ./... \ | |
| -coverpkg="./cmd/...,./internal/...,${pkgs}" -coverprofile=coverage.out | |
| # internal/start (docker-compose/v2, buildx, moby/buildkit, k8s client-go, | |
| # aws-sdk-go-v2, notary, secret-detector) was deleted outright as | |
| # unreachable (CLI-1966) -- this guards against silently reintroducing | |
| # that dependency tree via some other package, since nothing else checks | |
| # the shipped binary's size on every change. | |
| - name: Verify the heavy orchestration dependency tree stays out of the module | |
| run: | | |
| set -euo pipefail | |
| go list -deps . > /tmp/deps.txt | |
| ! grep -Eq \ | |
| 'docker/compose|docker/buildx|moby/buildkit|k8s\.io/client-go|aws-sdk-go-v2' \ | |
| /tmp/deps.txt | |
| - name: Check existing coverage cache | |
| id: coverage-cache | |
| uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: apps/cli-go/coverage.out | |
| key: cli-go-coverage-${{ github.run_id }}-v1 | |
| lookup-only: true | |
| - name: Save coverage cache | |
| if: steps.coverage-cache.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: apps/cli-go/coverage.out | |
| key: cli-go-coverage-${{ github.run_id }}-v1 | |
| coverage: | |
| name: Coverage | |
| needs: | |
| - test | |
| runs-on: blacksmith-8vcpu-ubuntu-2404 | |
| steps: | |
| - name: Restore coverage cache | |
| uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: apps/cli-go/coverage.out | |
| key: cli-go-coverage-${{ github.run_id }}-v1 | |
| fail-on-cache-miss: true | |
| - name: Move coverage report | |
| run: cp apps/cli-go/coverage.out coverage.out | |
| working-directory: . | |
| - uses: coverallsapp/github-action@8d6379e14d29928660c4ba802d8e85393440b329 # v2.3.8 | |
| with: | |
| file: coverage.out | |
| format: golang | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: jdx/mise-action@3c2e0cf82a5b2e5249f0d3635a4d83d0ae861518 # v4 | |
| with: | |
| version: 2026.7.0 | |
| install: true | |
| install_args: >- | |
| go | |
| golangci-lint | |
| - uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9.3.0 | |
| with: | |
| args: --timeout 5m --verbose | |
| install-mode: none | |
| only-new-issues: true | |
| working-directory: apps/cli-go | |
| codegen: | |
| name: Codegen | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: apps/cli-go/go.mod | |
| cache: true | |
| - run: go generate | |
| - run: | | |
| if ! git diff --ignore-space-at-eol --exit-code --quiet pkg; then | |
| echo "Detected uncommitted changes after codegen. See status below:" | |
| git diff | |
| exit 1 | |
| fi | |
| defaults: | |
| run: | |
| working-directory: apps/cli-go |