name: build

on: [push, pull_request]

jobs:
  build:
    uses: charmbracelet/meta/.github/workflows/build.yml@main

  snapshot:
    uses: charmbracelet/meta/.github/workflows/snapshot.yml@main
    secrets:
      goreleaser_key: ${{ secrets.GORELEASER_KEY }}

  coverage:
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'pull_request' }}
    steps:
      - uses: actions/checkout@v3

      - name: Set up Go
        uses: actions/setup-go@v3
        with:
          go-version: ^1

      - name: Test
        run: go test -failfast -race -coverpkg=./... -covermode=atomic -coverprofile=coverage.txt ./... -timeout 5m
      - uses: codecov/codecov-action@v3
        with:
          file: ./coverage.txt