Merge pull request #4 from jaxxstorm/revert-3-debug #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |