From 48d4769ccbe1988f925c17d2c4b94decf782342f Mon Sep 17 00:00:00 2001 From: Alvaro Bartolome Date: Wed, 29 May 2024 16:56:57 +0200 Subject: [PATCH] Add `test-min.yml` --- .github/workflows/test-min.yml | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/test-min.yml diff --git a/.github/workflows/test-min.yml b/.github/workflows/test-min.yml new file mode 100644 index 000000000..b7717a401 --- /dev/null +++ b/.github/workflows/test-min.yml @@ -0,0 +1,65 @@ +name: Test with minimum dependencies + +on: + # Temporarily included `workflow_dispatch` to trigger it manually + # to ensure that everything's working fine + workflow_dispatch: + push: + branches: + - main + - develop + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.8", "3.9", "3.10", "3.11"] + fail-fast: false + + steps: + - uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + # Looks like it's not working very well for other people: + # https://github.com/actions/setup-python/issues/436 + # cache: "pip" + # cache-dependency-path: pyproject.toml + + - uses: actions/cache@v4 + id: cache + with: + path: ${{ env.pythonLocation }} + key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-test-min + + - name: Install dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: | + python_version=$(python -c "import sys; print(sys.version_info[:2])") + + pip install uv + uv pip install --system --resolution lowest -e .[dev,tests,anthropic,argilla,cohere,groq,hf-inference-endpoints,hf-transformers,litellm,llama-cpp,ollama,openai,outlines,vertexai,vllm] + if [ "${python_version}" != "(3, 8)" ]; then + uv pip install --system --resolution lowest -e .[mistralai,instructor] + fi; + # Here we don't use the `--resolution=lowest` flag because we had issues + # in the past with LLM-Blender, that's why we're also using a custom fork + uv pip install --system git+https://github.com/argilla-io/LLM-Blender.git + + - name: Lint + run: make lint + + - name: Unit Tests + run: make unit-tests + + - name: Integration Tests + run: make integration-tests + timeout-minutes: 5 +