|
|
@@ -24,12 +24,47 @@ concurrency:
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
jobs:
|
|
|
- uv-tests:
|
|
|
- name: UV Tests (Matrix OS)
|
|
|
- strategy:
|
|
|
- matrix:
|
|
|
- os: [ ubuntu-latest, macos-latest]
|
|
|
- runs-on: ${{ matrix.os }}
|
|
|
+ uv-tests-linux:
|
|
|
+ name: Code tests (Linux)
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v4
|
|
|
+
|
|
|
+ - name: Set up Python (uv)
|
|
|
+ uses: actions/setup-python@v5
|
|
|
+ with:
|
|
|
+ python-version: "3.10"
|
|
|
+
|
|
|
+ - name: Install uv and dependencies
|
|
|
+ shell: bash
|
|
|
+ run: |
|
|
|
+ curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
|
+ uv python install 3.10
|
|
|
+ uv add . --dev
|
|
|
+ uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
|
|
+ uv add pytest-ruff nbval
|
|
|
+
|
|
|
+ - name: Test Selected Python Scripts (uv)
|
|
|
+ shell: bash
|
|
|
+ run: |
|
|
|
+ source .venv/bin/activate
|
|
|
+ pytest --ruff setup/02_installing-python-libraries/tests.py
|
|
|
+ pytest --ruff ch04/01_main-chapter-code/tests.py
|
|
|
+ pytest --ruff ch05/01_main-chapter-code/tests.py
|
|
|
+ pytest --ruff ch05/07_gpt_to_llama/tests/tests.py
|
|
|
+ pytest --ruff ch06/01_main-chapter-code/tests.py
|
|
|
+
|
|
|
+ - name: Validate Selected Jupyter Notebooks (uv)
|
|
|
+ shell: bash
|
|
|
+ run: |
|
|
|
+ source .venv/bin/activate
|
|
|
+ pytest --ruff --nbval ch02/01_main-chapter-code/dataloader.ipynb
|
|
|
+ pytest --ruff --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
|
|
|
+ pytest --ruff --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb
|
|
|
+
|
|
|
+ uv-tests-macos:
|
|
|
+ name: Code tests (macOS)
|
|
|
+ runs-on: macos-latest
|
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
|
|