diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d81e637..daac1f6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,20 +25,27 @@ jobs: uses: actions/setup-python@v5 with: python-version: "3.14" + cache: 'pip' - - name: Cache pip dependencies + - name: Cache full virtual environment uses: actions/cache@v4 - id: pip-cache + id: cache-venv with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml', 'requirements*.txt') }} + path: .venv + key: ${{ runner.os }}-py3.14-venv-${{ hashFiles('pyproject.toml') }} restore-keys: | - ${{ runner.os }}-pip- + ${{ runner.os }}-py3.14-venv- - name: Install dependencies + if: steps.cache-venv.outputs.cache-hit != 'true' run: | + python -m venv .venv + source .venv/bin/activate python -m pip install --upgrade pip - pip install ".[dev]" + pip install --no-cache-dir ".[dev]" + + - name: Activate virtual environment + run: echo "$GITHUB_WORKSPACE/.venv/bin" >> $GITHUB_PATH - name: Run Ruff linter run: ruff check . diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 4f72757..489070c 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -20,19 +20,27 @@ jobs: uses: actions/setup-python@v5 with: python-version: "3.14" + cache: 'pip' - - name: Cache pip dependencies + - name: Cache full virtual environment uses: actions/cache@v4 + id: cache-venv with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml', 'requirements*.txt') }} + path: .venv + key: ${{ runner.os }}-py3.14-venv-${{ hashFiles('pyproject.toml') }} restore-keys: | - ${{ runner.os }}-pip- + ${{ runner.os }}-py3.14-venv- - name: Install dependencies + if: steps.cache-venv.outputs.cache-hit != 'true' run: | + python -m venv .venv + source .venv/bin/activate python -m pip install --upgrade pip - pip install ".[dev]" + pip install --no-cache-dir ".[dev]" + + - name: Activate virtual environment + run: echo "$GITHUB_WORKSPACE/.venv/bin" >> $GITHUB_PATH - name: Run Ruff linter run: ruff check . diff --git a/pyproject.toml b/pyproject.toml index 2bb8efb..3dd286c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,7 @@ dependencies = [ # RAG "tiktoken>=0.7", + "nltk>=3.8.1", # Storage "sqlalchemy>=2.0",