From d04f98d88051280264d65a732354fc30283f5dd7 Mon Sep 17 00:00:00 2001 From: Piotr Zaniewski Date: Tue, 10 Nov 2026 22:31:00 +0100 Subject: [PATCH] fix(testing-tailnet): avoid duplicate route flag Jobs fail before joining the tailnet because the CLI rejects duplicate route flags. The pinned upstream action already supplies this flag, so passing it again prevents enrollment. --- .github/actions/testing-tailnet/action.yml | 3 ++- .github/actions/testing-tailnet/test/test_action.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/actions/testing-tailnet/action.yml b/.github/actions/testing-tailnet/action.yml index e7ec63a7..89f013e1 100644 --- a/.github/actions/testing-tailnet/action.yml +++ b/.github/actions/testing-tailnet/action.yml @@ -33,7 +33,8 @@ runs: oauth-client-id: ${{ inputs.client-id }} audience: ${{ inputs.audience }} tags: tag:e2e-github-runner - args: --accept-routes=true --accept-dns=false --ssh=false + # The pinned upstream action already enables route acceptance. + args: --accept-dns=false --ssh=false - name: Verify testing tailnet id: verify shell: bash diff --git a/.github/actions/testing-tailnet/test/test_action.py b/.github/actions/testing-tailnet/test/test_action.py index 1d11227a..f77c8c40 100644 --- a/.github/actions/testing-tailnet/test/test_action.py +++ b/.github/actions/testing-tailnet/test/test_action.py @@ -1,5 +1,7 @@ import importlib.util import json +import re +import shlex from pathlib import Path from types import SimpleNamespace @@ -19,6 +21,15 @@ def load(name): verify = load("verify") +def test_join_args_do_not_repeat_upstream_route_flag(): + action = (SRC.parent / "action.yml").read_text() + assert "tailscale/github-action@064b10558093f38325e838ddea35486bdc6b1d5c" in action + args = shlex.split(re.search(r"^\s+args: (.+)$", action, re.MULTILINE).group(1)) + assert not any(arg.split("=", 1)[0].lstrip("-") == "accept-routes" for arg in args) + assert "--accept-dns=false" in args + assert "--ssh=false" in args + + @pytest.fixture def env(): return {"RUNNER_OS": "Linux", "RUNNER_ENVIRONMENT": "github-hosted", "GITHUB_EVENT_NAME": "push", "GITHUB_REF": "refs/heads/main", "INPUT_CLIENT_ID": "client-123", "INPUT_AUDIENCE": "api.tailscale.com/client-123", "INPUT_EXPECTED_TAILNET": "example-tailnet.ts.net"}