tailscale / tailscale/github-action

Tailscale routes missing in ephemeral runners

Open
#266 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
938
Forks
137
PR merge metrics
No merged PRs in 30d

Description

Hello team!

We are using the action to run a simple curl request in our tailnet, and it has been failing randomly. After some digging, we noticed the following:

  • Tailscale ping does work (for the DN and IP requested). We tried manually, and through the the action ping: <dn>,<ip>
  • Once a runner is failing, it does not recover by itself (even after 10 minutes). Curl still fails after that.
  • We noticed some routes are missing ip route show table all |grep tailscale only shows the following:
fe80::/64 dev tailscale0 proto kernel metric 256 pref medium
local fe80::ba:54d9:b084:82e9 dev tailscale0 table local proto kernel metric 0 pref medium
multicast ff00::/8 dev tailscale0 table local proto kernel metric 256 pref medium

While on a working runner, we do have the desired route showing.

Hotfix: a simple tailscale down && tailscale up in the action does solve the issue.

Current action is as follow:

      - name: Setup Tailscale
        uses: tailscale/github-action@53acf823325fe9ca47f4cdaa951f90b4b0de5bb9 # v4.1.1
        with:
          version: TAILSCALE_VERSION
          oauth-client-id: <some-client-id>
          oauth-secret: <some-client-secret>
          tags: tag:<some-tag>
          ping: <some-internal-ips>,<some-internal-dn>

Thank you!
Jules

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the workflow with the shown Tailscale setup and compare ip route show table all | grep tailscale on failing and working runners. Check the action's setup flow around route initialization, then verify that the expected route is present and curl succeeds without running tailscale down && tailscale up.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.