fix: add Poetry caching to CI workflow
Some checks failed
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled

This commit is contained in:
2026-02-02 02:26:12 +00:00
parent 7c90b04181
commit a36ff976ab

View File

@@ -2,50 +2,82 @@ name: CI
on: on:
push: push:
branches: [ main ] branches: [main]
pull_request: pull_request:
branches: [ main ] branches: [main]
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.11' python-version: '3.11'
- name: Cache Poetry installation - name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Cache Poetry dependencies
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: | path: ~/.cache/pypoetry
~/.local key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }}
~/.cache/pypoetry
key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
restore-keys: | restore-keys: |
poetry-${{ runner.os }}- ${{ runner.os }}-poetry-
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install dependencies - name: Install dependencies
run: | run: |
poetry install poetry install --with dev
- name: Run tests - name: Run tests
run: | run: |
poetry run pytest tests/ -v --tb=short poetry run pytest tests/ -v
- name: Run linting - name: Run linting
run: | run: |
poetry run ruff check codechunk/ tests/ poetry run ruff check codechunk tests
- name: Run type checking - name: Run type checking
run: | run: |
poetry run mypy codechunk/ tests/ poetry run mypy codechunk
# End of CI workflow build:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Cache Poetry dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pypoetry
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }}
restore-keys: |
${{ runner.os }}-poetry-
- name: Build package
run: |
poetry build
- name: Verify build
run: |
poetry run pip install dist/*.whl --dry-run