mirror of
https://github.com/tailscale/github-action.git
synced 2026-08-20 10:49:23 +00:00
Even if we just have DERP connectivity, stop pinging so that action can continue sooner. Updates tailscale/corp#32862 Signed-off-by: Percy Wegmann <percy@tailscale.com>
121 lines
3.1 KiB
YAML
121 lines
3.1 KiB
YAML
name: "Integration Tests"
|
|
|
|
on:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
# Matrix test for all supported platforms and architectures
|
|
|
|
integration-tests:
|
|
name: ${{ matrix.os }} (${{ matrix.arch }}) tailscale-${{ matrix.version }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
# Linux tests (AMD64)
|
|
- os: ubuntu-latest
|
|
runner-os: Linux
|
|
arch: amd64
|
|
version: latest
|
|
ping: 100.99.0.2,lax-pve.pineapplefish.ts.net,lax-pve
|
|
|
|
# Try unstable too
|
|
- os: ubuntu-latest
|
|
runner-os: Linux
|
|
arch: amd64
|
|
version: unstable
|
|
|
|
# Try a pinned version
|
|
- os: ubuntu-latest
|
|
runner-os: Linux
|
|
arch: amd64
|
|
version: 1.82.0
|
|
|
|
# Linux tests (ARM64)
|
|
- os: ubuntu-24.04-arm
|
|
runner-os: Linux
|
|
arch: arm64
|
|
version: latest
|
|
|
|
# Windows tests (AMD64)
|
|
- os: windows-latest
|
|
runner-os: Windows
|
|
arch: amd64
|
|
version: latest
|
|
ping: 100.99.0.2,lax-pve.pineapplefish.ts.net,lax-pve
|
|
|
|
- os: windows-latest
|
|
runner-os: Windows
|
|
arch: amd64
|
|
version: unstable
|
|
|
|
# Windows tests (ARM64)
|
|
- os: windows-11-arm
|
|
runner-os: Windows
|
|
arch: arm64
|
|
version: latest
|
|
|
|
# macOS intel
|
|
- os: macos-13
|
|
runner-os: macOS
|
|
arch: amd64
|
|
version: latest
|
|
ping: 100.99.0.2 # hostnames aren't resolving on MacOS, just ping IP lax-pve.pineapplefish.ts.net,lax-pve
|
|
|
|
# macOS ARM
|
|
- os: macos-14
|
|
runner-os: macOS
|
|
arch: arm64
|
|
version: latest
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "20"
|
|
cache: "npm"
|
|
|
|
- name: Install Dependencies
|
|
run: npm ci
|
|
|
|
- name: Build Action
|
|
run: npm run build
|
|
|
|
# Test with OAuth authentication
|
|
- name: Test Action
|
|
id: tailscale-oauth
|
|
uses: ./
|
|
with:
|
|
oauth-client-id: ${{ secrets.TS_AUTH_KEYS_OAUTH_CLIENT_ID }}
|
|
oauth-secret: ${{ secrets.TS_AUTH_KEYS_OAUTH_CLIENT_SECRET }}
|
|
tags: "tag:ci"
|
|
version: "${{ matrix.version }}"
|
|
use-cache: false
|
|
timeout: "5m"
|
|
retry: 3
|
|
ping: "${{ matrix.ping }}"
|
|
|
|
# Test Tailscale status command
|
|
- name: Check Tailscale Status
|
|
if: steps.tailscale-oauth.outcome == 'success'
|
|
run: |
|
|
echo "Testing Tailscale status command..."
|
|
if [ "${{ matrix.runner-os }}" == "Windows" ]; then
|
|
# Windows uses system-installed binary without sudo
|
|
tailscale status
|
|
tailscale version
|
|
else
|
|
# Linux and macOS use system-installed binary with sudo
|
|
sudo -E tailscale status
|
|
tailscale version
|
|
fi
|
|
shell: bash
|