on: [push]

jobs:
  test-on-windows:
    runs-on: win-10
    steps:
      - name: Checkout Code
        uses: actions/checkout@v3

      - name: Verify Go Installation
        shell: bash
        run: |
          if ! go version; then
            echo "Go is not installed!" 
            exit 1
          fi

      - name: Build Go Application
        shell: bash
        run: |
          go build -o spitfire-installer.exe
          echo "Application built successfully."

      - name: Run Go Application
        shell: bash
        run: |
          ./spitfire-installer.exe || echo "Application failed to run."

  test-on-alpine:
    runs-on: alpine-1.20
    steps:
      - name: Checkout Code
        uses: actions/checkout@v3

      - name: Verify Go Installation
        run: |
          go version || (echo "Go is not installed!" && exit 1)

      - name: Build Go Application
        run: |
          go build -o spitfire-installer
          echo "Application built successfully."

      - name: Run Go Application
        run: |
          ./spitfire-installer || echo "Application failed to run."