name: Smoke Test

on:
  workflow_dispatch:
  pull_request:
  schedule:
    - cron:  '0 0 * * *'
  push:
    branches: [ master ]

jobs:
  test:
    strategy:
      matrix:
        distro: ['ubuntu:latest', 'fedora:latest', 'debian:latest', 'archlinux:latest']
      fail-fast: false
    runs-on: ubuntu-latest
    container: ${{ matrix.distro }}
    steps:
    - name: Debian-based Setup
      if: ${{ matrix.distro == 'ubuntu:latest' || matrix.distro == 'debian:latest' }}
      run: |

          # Install our dependencies
          apt-get update 
          apt-get install -y zsh tmux fish ca-certificates make build-essential gcc psmisc

          # Work around a weird bug where zsh on ubuntu actions gives that directory 0777 which makes zsh refuse to start
          chmod 0755 -R /usr/share/zsh/ 
    - name: DNF-based Setup
      if: ${{ matrix.distro == 'fedora:latest' || matrix.distro == 'rockylinux:latest' }}
      run: |

          # Install our dependencies
          sudo dnf update -y
          sudo dnf install -y zsh tmux fish make gcc psmisc
    - name: Arch-based Setup
      if: ${{ matrix.distro == 'archlinux:latest' }}
      run: |

          # Install our dependencies
          pacman -Sy --noconfirm zsh tmux fish make gcc psmisc python-pip openssl python-pyopenssl
    - uses: actions/checkout@v4
    - name: Set up Go
      uses: actions/setup-go@v4
      with:
        go-version: 1.23
    - name: Go test
      if: ${{ !startsWith(github.event.head_commit.message, 'Release') }}
      env:
        DD_API_KEY: ${{ secrets.DD_API_KEY }}
        OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
      run: |
          go install gotest.tools/gotestsum@bc98120
          make ftest FILTER=TestInstallViaPythonScriptFromHead
    # - name: Setup tmate session
    #   if: ${{ failure() }}
    #   uses: mxschmitt/action-tmate@v3
    #   with:
    #     limit-access-to-actor: true
