Skip to content

fix(tui): watcher pane rendering — approvals slot, markers, glamour #791

fix(tui): watcher pane rendering — approvals slot, markers, glamour

fix(tui): watcher pane rendering — approvals slot, markers, glamour #791

Workflow file for this run

# .github/workflows/go-ci.yml
name: Go CI
on:
push:
branches:
- main
pull_request:
branches:
- main
# No job writes to the repo; the Codecov upload uses its own CODECOV_TOKEN secret,
# not GITHUB_TOKEN. Grant the minimal read-only scope.
permissions:
contents: read
jobs:
plan-doc:
name: Plan Document
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' && github.event.pull_request.user.login != 'dependabot[bot]' && !contains(github.event.pull_request.labels.*.name, 'skip-plan')
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
- name: Check for plan document
run: make plan-check
readme-check:
name: README Update Check
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' && github.event.pull_request.user.login != 'dependabot[bot]' && !contains(github.event.pull_request.labels.*.name, 'skip-readme')
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
- name: Check README update
run: make readme-check
quickstart-check:
name: Quickstart Update Check
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' && github.event.pull_request.user.login != 'dependabot[bot]' && !contains(github.event.pull_request.labels.*.name, 'skip-quickstart')
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
- name: Check quickstart update
run: make quickstart-check
fmt:
name: Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Check formatting
run: make fmt-check
vet:
name: Go Vet
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Run go vet
run: make vet
fixtures:
name: Fixture Sanitization
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
# Pure grep; no Go toolchain required. Ensures no real customer UUIDs or
# domains leak into testdata fixtures — previously only enforced locally.
- name: Check fixture sanitization
run: make test-fixtures
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Cache Go modules
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run lint
run: make lint
race:
name: Race Detection
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Run race detection
run: make test-race
test:
name: Unit Tests
runs-on: ubuntu-latest
needs: [fmt, vet, lint]
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Cache Go modules
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run tests
run: make test
coverage:
name: Coverage
runs-on: ubuntu-latest
needs: [test]
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Cache Go modules
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Generate coverage
run: go test ./... -coverprofile=coverage.out -covermode=atomic
- name: Upload coverage to Codecov
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v6
with:
files: coverage.out
token: ${{ secrets.CODECOV_TOKEN }}
continue-on-error: true
- name: Enforce coverage threshold
run: make test-coverage-threshold
vuln:
name: Vulnerability Scan
runs-on: ubuntu-latest
needs: [test]
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Run vulnerability scan
run: make test-vuln
build:
name: Build Check
runs-on: ubuntu-latest
needs: [test]
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Go from go.mod
uses: ./.github/actions/setup-go-from-mod
- name: Verify build
run: go build -o /dev/null .