macOS: action unconditionally overrides system DNS (networksetup 100.100.100.100), breaking Actions broker resolution and cancelling jobs mid-run
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- github-actions, macos, typescript
- Área
- ci-cd, devops, networking
Línea de trabajo
Comienza en src/main.ts en configureDNSOnMacOS y sigue el flujo de join y post-step de macOS introducido por #200. Verifica cómo se gestiona --accept-dns con respecto a la llamada a networksetup de la action y define el comportamiento de opt-in o de --accept-dns=false, así como la restauración de DNS; se considera terminado cuando la action deja de sobrescribir incondicionalmente el DNS del runner durante un job.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
On a GitHub-hosted macOS runner, a job that connects with tailscale/github-action@v4 and then runs for several minutes gets cancelled ~5 min in with the generic The operation was canceled. Runner diagnostic logs (ACTIONS_RUNNER_DEBUG=true) show repeated job-lease renewal failures:
WARN GitHubActionsService] Attempt N of POST .../renewjob failed (Socket Error: HostNotFound)
ERR JobDispatcher] Catch exception during renew runner job ...
INFO JobDispatcher] Send job cancellation message to worker ...
The Actions broker hostname (run-actions-*.actions.githubusercontent.com) fails to resolve (HostNotFound), so the runner cannot renew its lease and the service cancels the healthy job.
Root cause
On join (macOS only), configureDNSOnMacOS in src/main.ts runs:
networksetup -setdnsservers Ethernet 100.100.100.100
repointing the runner's system DNS at the tailnet resolver, which intermittently fails to forward public queries — so the broker does not resolve, renewjob fails, and the job is cancelled. Three problems:
- Unconditional on macOS — gated only on the tailnet-wide
MagicDNSEnabledflag, not on--accept-dns. Passingargs: --accept-dns=falsedoes not prevent it (that only affectstailscale up, not the action's ownnetworksetupcall). - No input to disable the DNS configuration.
- The action never restores DNS, so the override persists for the whole job.
Introduced by #200.
Impact
Any macOS job that stays up long enough to hit a lease renewal while the tailnet resolver cannot forward the broker query is silently cancelled. Intermittent, so it reads as flaky infrastructure.
Workaround
Revert DNS immediately after the action (safe when you do not need MagicDNS name resolution — reach peers by Tailscale IP):
- run: sudo networksetup -setdnsservers Ethernet Empty
Request
Make the macOS DNS configuration opt-in (or skip it when --accept-dns=false), and/or restore the original DNS in the post step. An input such as set-dns: false would suffice.
Environment
GitHub-hosted macOS (arm64), tailscale/github-action@v4, Tailscale 1.94.2.
- Lenguaje dominante
- TypeScript
- Estrellas
- 938
- Forks
- 137
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tailscale/github-action
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
tailscale/github-action#283 · 1 comentario · 1 reacción ·
-
fr
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
tailscale/github-action#317 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
tailscale/github-action#316 · 2 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
tailscale/github-action#313 · 1 reacción ·
-
macOS: builds from source instead of downloading pre-built binaries; breaks with go.work files Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
tailscale/github-action#287 · 7 comentarios ·
Todos los issues de tailscale/github-action
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
copse-dev/agent-pane#2953 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Abiertobug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Client support matrix inclusion Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
calcite-components needs triage refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Esri/calcite-design-system#15203 ·