Skip to content

Bump actions/setup-node from 5.0.0 to 6.0.0 #91

Bump actions/setup-node from 5.0.0 to 6.0.0

Bump actions/setup-node from 5.0.0 to 6.0.0 #91

Workflow file for this run

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
# leave version blank to fall back to default
# 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 13 (AMD64)
- os: macos-13
runner-os: macOS
arch: amd64
version: latest
ping: 100.99.0.2,lax-pve.pineapplefish.ts.net,lax-pve
# macOS 14 (ARM)
- os: macos-14
runner-os: macOS
arch: arm64
version: latest
ping: 100.99.0.2,lax-pve.pineapplefish.ts.net,lax-pve
# macOS latest (ARM)
- os: macos-latest
runner-os: macOS
arch: arm64
version: latest
ping: 100.99.0.2,lax-pve.pineapplefish.ts.net,lax-pve
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "24"
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 }}"
# Look up names to make sure MagicDNS is working
- name: Look up qualified name
run: nslookup lax-pve.pineapplefish.ts.net
- name: Look up unqualified name
run: nslookup lax-pve
# 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