github-action/action.yml
Percy Wegmann 75aaac9f12 add support for testing peer connectivity
The new argument `ping` allows users to specify a comma-seperated list
of hosts (IP or hostname) to ping in order to verify connectivity.
Ping is considered successful as soon as the peer is reachable either
directly or via DERP.

Updates tailscale/corp#32817

Signed-off-by: Percy Wegmann <percy@tailscale.com>
2025-10-14 13:12:31 -05:00

65 lines
2.1 KiB
YAML

name: 'Action Setup Tailscale'
description: 'Connect your GitHub Action workflow to Tailscale'
branding:
icon: 'arrow-right-circle'
color: 'gray-dark'
inputs:
authkey:
description: 'Your Tailscale authentication key, from the admin panel.'
required: false
deprecationMessage: 'An OAuth API client https://tailscale.com/s/oauth-clients is recommended instead of an authkey'
oauth-client-id:
description: 'Your Tailscale OAuth Client ID.'
required: false
oauth-client-secret:
description: 'Your Tailscale OAuth Client Secret.'
required: false
tags:
description: 'Comma separated list of tags to be applied to nodes (OAuth client must have permission to apply these tags).'
required: false
version:
description: 'Tailscale version to use. Specify `latest` for the latest stable version.'
required: true
args:
description: 'Optional additional arguments to `tailscale up`.'
required: false
default: ''
tailscaled-args:
description: 'Optional additional arguments to `tailscaled`.'
required: false
default: ''
hostname:
description: 'Fixed hostname to use.'
required: false
default: ''
timeout:
description: 'Timeout for `tailscale up`.'
required: false
default: '2m'
retry:
description: 'Number of retry attempts for Tailscale connection.'
required: false
default: '5'
use-cache:
description: 'Enable caching of Tailscale binaries to speed up subsequent runs.'
required: false
default: 'true'
statedir:
description: 'Directory to store Tailscale state. If empty, uses in-memory storage.'
required: false
default: ''
sha256sum:
description: 'Expected SHA256 checksum of the Tailscale package. If not provided, it will be fetched automatically.'
required: false
default: ''
ping:
description: 'Comma separated list of hosts (Tailscale IP addresses or machine names if MagicDNS is enabled on the tailnet) to `tailscale ping` for connectivity verification after `tailscale up` completes.'
required: false
default: ''
runs:
using: 'node20'
main: 'dist/index.js'
post: 'dist/logout/index.js'