name: CI

on:
  push:
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: lts/*
      - run: npm install
      - run: npm run jslint
      - run: sudo apt update && sudo apt install -y squid
      - run: sudo cp test/squid.conf /etc/squid/squid.conf
      - run: sudo systemctl start squid
      - run: npm test
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_REGION: ${{ secrets.AWS_REGION }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          GCP_JSON_KEY: ${{ secrets.GCP_JSON_KEY }}
          IBM_API_KEY: ${{ secrets.IBM_API_KEY }}
          IBM_TTS_API_KEY: ${{ secrets.IBM_TTS_API_KEY }}
          IBM_TTS_REGION: ${{ secrets.IBM_TTS_REGION }}
          MICROSOFT_API_KEY: ${{ secrets.MICROSOFT_API_KEY }}
          MICROSOFT_REGION: ${{ secrets.MICROSOFT_REGION }}
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          ELEVENLABS_API_KEY: ${{ secrets.ELEVENLABS_API_KEY }}
          ELEVENLABS_VOICE_ID: ${{ secrets.ELEVENLABS_VOICE_ID }}
          ELEVENLABS_MODEL_ID: ${{ secrets.ELEVENLABS_MODEL_ID }}
          PLAYHT_USER_ID: ${{ secrets.PLAYHT_USER_ID }}
          PLAYHT_API_KEY: ${{ secrets.PLAYHT_API_KEY }}
          JAMBONES_HTTP_PROXY_IP: 127.0.0.1
          JAMBONES_HTTP_PROXY_PORT: 3128
