name: cli commands tests

on:
    pull_request:
        paths:
            - "agenta-backend/**"
            - "agenta-cli/**"

jobs:
    serve-to-oss:
        runs-on: ubuntu-latest
        environment: oss
        steps:
            - name: Check out repository
              uses: actions/checkout@v4

            - name: Set up python
              id: setup-python
              uses: actions/setup-python@v5
              with:
                  python-version: "3.12"

            - name: Install dependencies
              run: |
                  python -m pip install --upgrade pip setuptools
                  pip install poetry
                  cd agenta-cli
                  pip install -e .

            - name: Create .env file
              run: |
                  echo "OPENAI_API_KEY=${{ secrets.NEXT_PUBLIC_OPENAI_API_KEY }}" > .env
              working-directory: examples/deprecated_sdk_v2/baby_name_generator

            - name: Run agenta init
              run: |
                  APP_NAME="gh-cli-$(date +'%d-%m-%y_%H-%M-%S')"
                  agenta init --app-name $APP_NAME --backend-host ${{ secrets.BACKEND_HOST }}
              working-directory: examples/deprecated_sdk_v2/baby_name_generator
              shell: bash
              continue-on-error: false

            - name: Run agenta variant serve
              run: |
                  agenta variant serve --file_name app.py 2>&1 | tee serve_output.log
              working-directory: examples/deprecated_sdk_v2/baby_name_generator
              shell: bash
              continue-on-error: false

            - name: Check if app is running
              uses: ./.github/actions/check-app-accessibility
              with:
                log-file: examples/deprecated_sdk_v2/baby_name_generator/serve_output.log
              continue-on-error: false

            - name: Run agenta variant serve with overwrite
              run: |
                  agenta variant serve --file_name app.py --overwrite
              working-directory: examples/deprecated_sdk_v2/baby_name_generator
              shell: bash
              continue-on-error: false

    serve-to-cloud:
        runs-on: ubuntu-latest
        environment: oss
        steps:
            - name: Check out repository
              uses: actions/checkout@v4

            - name: Set up python
              id: setup-python
              uses: actions/setup-python@v5
              with:
                  python-version: "3.12"

            - name: Install dependencies
              run: |
                  python -m pip install --upgrade pip setuptools
                  pip install poetry
                  cd agenta-cli
                  pip install -e .

            - name: Create .env file
              run: |
                  echo "OPENAI_API_KEY=${{ secrets.NEXT_PUBLIC_OPENAI_API_KEY }}" > .env
              working-directory: examples/deprecated_sdk_v2/baby_name_generator

            - name: Run agenta init
              run: |
                  APP_NAME="gh-cli-$(date +'%d-%m-%y_%H-%M-%S')"
                  AGENTA_API_KEY=${{ secrets.AGENTA_API_KEY }} agenta init --app-name $APP_NAME --backend-host https://cloud.agenta.ai
              working-directory: examples/deprecated_sdk_v2/baby_name_generator
              shell: bash
              continue-on-error: false

            - name: Run agenta variant serve
              run: |
                  agenta variant serve --file_name app.py 2>&1 | tee serve_output.log
              working-directory: examples/deprecated_sdk_v2/baby_name_generator
              shell: bash
              continue-on-error: false

            - name: Check if app is running
              uses: ./.github/actions/check-app-accessibility
              with:
                log-file: examples/deprecated_sdk_v2/baby_name_generator/serve_output.log
                api-key: ${{ secrets.AGENTA_API_KEY }}
              continue-on-error: false

            - name: Run agenta variant serve with overwrite
              run: |
                  agenta variant serve --file_name app.py --overwrite
              working-directory: examples/deprecated_sdk_v2/baby_name_generator
              shell: bash
              continue-on-error: false
