Files
tailscale/.github/workflows/tailcat.yml
Brad Fitzpatrick b62350fbec .github/workflows: clarify tailcat breakage check is only a heads-up
Rename the tailcat job added in 6c06e00ad to
heads-up-hypothetical-tailcat-build-using-this-commit and print an
explanation on failure: the job builds tailcat against tailscale.com at
this commit rather than the version tailcat pins, so a failure doesn't
break tailcat until it bumps its dependency. It only matters if the API
or behavior breakage is unexpected. People were misreading failures as
something more urgent.

Updates tailscale/corp#24454

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
Change-Id: I3f8a1c92d47e60b5a2e9c14f7d08b361
2026-09-04 09:28:17 -07:00

66 lines
2.1 KiB
YAML

name: tailcat
# This workflow tests the tailscale/tailcat repo against the tailscale.com
# module at head, rather than the version tailcat pins in its go.mod. It
# exists as an early warning that a change here breaks tailcat's API or
# behavior expectations. A failure might be fine if it's an intentional,
# coordinated change, but it's here to prevent accidental breakage.
on:
push:
branches:
- main
pull_request:
paths:
- "**/*.go"
- "go.mod"
- "go.sum"
- ".github/workflows/tailcat.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
tailcat:
name: heads-up-hypothetical-tailcat-build-using-this-commit
runs-on: ubuntu-latest
steps:
- name: Check out tailscale
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
path: tailscale
- name: Check out tailcat
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: tailscale/tailcat
path: tailcat
- name: Set up Go workspace
working-directory: tailcat
run: |
../tailscale/tool/go work init . ../tailscale
../tailscale/tool/go work sync
- name: Run tailcat tests
working-directory: tailcat
run: ../tailscale/tool/go test ./...
- name: Explain failure
if: failure()
run: |
cat <<'EOF' | tee -a "$GITHUB_STEP_SUMMARY"
Don't panic!
This job builds the tailscale/tailcat repo against the tailscale.com
module at this commit, not the version tailcat actually pins in its
go.mod. A failure here does NOT break tailcat today; nothing breaks
until tailcat bumps its tailscale.com dependency to include this
change.
This is only an early heads-up. Be concerned only if this API or
behavior breakage is unexpected. If the breakage is intentional,
proceed and coordinate a matching tailcat update.
EOF