Skip to content

Update CI

Update CI #79

Workflow file for this run

jobs:
setup-conda:
name: Setup Conda Environment
runs-on: ubuntu-latest
outputs:
activate: echo "source \"$(conda info --base)/etc/profile.d/conda.sh\" && conda activate lotus"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: "3.10"
environment-file: environment.yml
activate-environment: lotus
- name: Cache Conda Environment
uses: actions/cache@v3
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ hashFiles('environment.yml') }}
ruff_lint:
name: Ruff Lint
runs-on: ubuntu-latest
needs: setup-conda
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Ruff
run: |
pip install ruff==0.7.2
- name: Run Ruff
run: ruff check .
mypy:
name: Type Check
runs-on: ubuntu-latest
needs: setup-conda
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Activate Conda Environment
run: ${{ needs.setup-conda.outputs.activate }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install mypy==1.13.0
pip install -r requirements.txt
pip install -e .
- name: Run Mypy
run: mypy lotus/
openai_lm_test:
name: OpenAI Language Model Tests
runs-on: ubuntu-latest
needs: setup-conda
timeout-minutes: 5
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Activate Conda Environment
run: ${{ needs.setup-conda.outputs.activate }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
pip install pytest
- name: Set OpenAI API Key
run: echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> $GITHUB_ENV
- name: Run LM Tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ENABLE_OPENAI_TESTS: true
run: pytest .github/tests/lm_tests.py
ollama_lm_test:
name: Ollama Language Model Tests
runs-on: ubuntu-latest
needs: setup-conda
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Activate Conda Environment
run: ${{ needs.setup-conda.outputs.activate }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
pip install pytest
- name: Start Ollama Container
run: |
docker pull ollama/ollama:latest
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
timeout=30
while ! curl -s http://localhost:11434/ >/dev/null; do
if [ $timeout -le 0 ]; then
echo "Timed out waiting for Ollama server"
exit 1
fi
echo "Waiting for Ollama server to be ready..."
sleep 1
timeout=$((timeout - 1))
done
docker exec $(docker ps -q) ollama run llama3.2
- name: Run LM Tests
env:
ENABLE_OLLAMA_TESTS: true
run: pytest .github/tests/lm_tests.py
rm_test:
name: Retrieval Model Tests
runs-on: ubuntu-latest
needs: setup-conda
timeout-minutes: 5
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Activate Conda Environment
run: ${{ needs.setup-conda.outputs.activate }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
pip install pytest
- name: Set OpenAI API Key
run: echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> $GITHUB_ENV
- name: Run RM Tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ENABLE_OPENAI_TESTS: true
ENABLE_LOCAL_TESTS: true
run: pytest .github/tests/rm_tests.py