name: End to end test suite

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup pnpm
        uses: pnpm/action-setup@v2
        with:
          version: latest

      - name: Upgrade python tools
        shell: bash
        run: |
          python -m pip install --upgrade pip
          pip install -U --no-build-isolation --no-cache-dir "setuptools<72"
          pip install -U platformio adafruit-nrfutil --no-build-isolation
          pip install -U poetry --no-build-isolation
          pip install -U meshtastic --pre --no-build-isolation

      - name: Upgrade platformio
        shell: bash
        run: |
          pio upgrade

      - name: Install Dependencies
        run: pnpm install
