name: Test

on:
  push:
    branches: ["main"]
    paths: ["docker/**", ".github/workflows/test.yml"]
  pull_request:
    paths: ["docker/**", ".github/workflows/test.yml"]
  workflow_dispatch:
  
jobs:
  test_linux_local:
    name: Test Linux local installation
    runs-on: ubuntu-latest
    
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
        
      - name: Run install script
        run: |
          cat ./docker/install-scrypted-dependencies-linux.sh | sudo SERVICE_USER=$USER bash
          
      - name: Test server is running
        run: |
          systemctl status scrypted.service
          curl -k --retry 20 --retry-all-errors --retry-max-time 600 https://localhost:10443/
          
  test_mac_local:
    name: Test Mac local installation
    runs-on: macos-latest
    
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
        
      - name: Run install script
        run: |
          mkdir -p ~/.scrypted
          bash ./docker/install-scrypted-dependencies-mac.sh
          
      - name: Test server is running
        run: |
          curl -k --retry 20 --retry-all-errors --retry-max-time 600 https://localhost:10443/
          
  test_windows_local:
    name: Test Windows local installation
    runs-on: windows-latest
    
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
        
      - name: Run install script
        run: |
          .\docker\install-scrypted-dependencies-win.ps1
          
      - name: Test server is running
        run: |
          curl -k --retry 20 --retry-all-errors --retry-max-time 600 https://localhost:10443/
