mirror of
https://github.com/rasbt/LLMs-from-scratch.git
synced 2026-04-10 12:33:42 +00:00
Simplify the setup in CI (#542)
* Simplify the setup in CI * windows --no-binary option * windows uv workflow * add path * some fixes * some fixes * some fixes * cleanup * cleanup * cleanup * cleanup * cleanup * more windows issues * more windows issues * more windows issues * more windows issues * more windows issues * more windows issues * more windows issues * more windows issues * revert
This commit is contained in:
committed by
GitHub
parent
d1e99f6092
commit
bca82a9443
5
.github/workflows/basic-tests-linux-uv.yml
vendored
5
.github/workflows/basic-tests-linux-uv.yml
vendored
@@ -33,14 +33,13 @@ jobs:
|
||||
- name: Set up Python (uv)
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: "3.13"
|
||||
|
||||
- name: Install uv and dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv sync --dev --python=3.10 # tests for backwards compatibility
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add pytest-ruff nbval
|
||||
|
||||
|
||||
5
.github/workflows/basic-tests-macos-uv.yml
vendored
5
.github/workflows/basic-tests-macos-uv.yml
vendored
@@ -33,14 +33,13 @@ jobs:
|
||||
- name: Set up Python (uv)
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: "3.13"
|
||||
|
||||
- name: Install uv and dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv sync --dev --python=3.10 # tests for backwards compatibility
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add pytest-ruff nbval
|
||||
|
||||
|
||||
@@ -31,13 +31,12 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: "3.13"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv sync --dev --python=3.10 # tests for backwards compatibility
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add torch==${{ matrix.pytorch-version }}
|
||||
uv add pytest-ruff nbval
|
||||
|
||||
2
.github/workflows/basic-tests-pip.yml
vendored
2
.github/workflows/basic-tests-pip.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: "3.10" # tests for backwards compatibility
|
||||
|
||||
- name: Create Virtual Environment and Install Dependencies
|
||||
run: |
|
||||
|
||||
5
.github/workflows/basic-tests-pytorch-rc.yml
vendored
5
.github/workflows/basic-tests-pytorch-rc.yml
vendored
@@ -27,13 +27,12 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: "3.13"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv sync --dev --python=3.10 # tests for backwards compatibility
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add pytest-ruff nbval
|
||||
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
|
||||
|
||||
66
.github/workflows/basic-tests-windows-uv-pip.yml.disabled
vendored
Normal file
66
.github/workflows/basic-tests-windows-uv-pip.yml.disabled
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
name: Code tests Windows (uv/pip)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- '**/*.py'
|
||||
- '**/*.ipynb'
|
||||
- '**/*.yaml'
|
||||
- '**/*.yml'
|
||||
- '**/*.sh'
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- '**/*.py'
|
||||
- '**/*.ipynb'
|
||||
- '**/*.yaml'
|
||||
- '**/*.yml'
|
||||
- '**/*.sh'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
|
||||
- name: Install dependencies
|
||||
shell: pwsh
|
||||
run: |
|
||||
$env:Path = "C:\Users\runneradmin\.local\bin;$env:Path"
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install uv
|
||||
uv venv --python=python3.11
|
||||
. .\.venv\Scripts\Activate.ps1
|
||||
$env:UV_PIP_OPTS="--no-binary tensorflow-io-gcs-filesystem"
|
||||
uv pip install -r requirements.txt
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv pip install pytest-ruff nbval
|
||||
uv pip install --force-reinstall matplotlib "numpy<2.1"
|
||||
|
||||
- name: Run Python Tests
|
||||
shell: pwsh
|
||||
run: |
|
||||
$env:Path = "C:\Users\runneradmin\.local\bin;$env:Path"
|
||||
. .\.venv\Scripts\Activate.ps1
|
||||
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: Run Jupyter Notebook Tests
|
||||
shell: pwsh
|
||||
run: |
|
||||
$env:Path = "C:\Users\runneradmin\.local\bin;$env:Path"
|
||||
. .\.venv\Scripts\Activate.ps1
|
||||
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
|
||||
63
.github/workflows/basic-tests-windows-uv.yml.disabled
vendored
Normal file
63
.github/workflows/basic-tests-windows-uv.yml.disabled
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
name: Code tests Windows (uv)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- '**/*.py'
|
||||
- '**/*.ipynb'
|
||||
- '**/*.yaml'
|
||||
- '**/*.yml'
|
||||
- '**/*.sh'
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- '**/*.py'
|
||||
- '**/*.ipynb'
|
||||
- '**/*.yaml'
|
||||
- '**/*.yml'
|
||||
- '**/*.sh'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
|
||||
- name: Install dependencies
|
||||
shell: pwsh
|
||||
run: |
|
||||
# Prepend local bin directory to PATH
|
||||
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
||||
$env:Path = "C:\Users\runneradmin\.local\bin;$env:Path"
|
||||
uv sync --dev --python=3.10
|
||||
$env:UV_PIP_OPTS="--no-binary tensorflow-io-gcs-filesystem"
|
||||
uv pip install -r requirements.txt
|
||||
uv pip install matplotlib # for some reason Windows requires this
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add pytest-ruff nbval
|
||||
|
||||
- name: Run Python Tests
|
||||
shell: pwsh
|
||||
run: |
|
||||
. .\.venv\Scripts\Activate.ps1
|
||||
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: Run Jupyter Notebook Tests
|
||||
shell: pwsh
|
||||
run: |
|
||||
. .\.venv\Scripts\Activate.ps1
|
||||
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
|
||||
4
.github/workflows/check-links.yml
vendored
4
.github/workflows/check-links.yml
vendored
@@ -18,13 +18,11 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv add pytest-ruff pytest-check-links
|
||||
# Current version of retry doesn't work well if there are broken non-URL links
|
||||
# pip install pytest pytest-check-links pytest-retry
|
||||
|
||||
5
.github/workflows/check-spelling-errors.yml
vendored
5
.github/workflows/check-spelling-errors.yml
vendored
@@ -18,13 +18,12 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Install codespell
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv sync --dev --python=3.10
|
||||
uv add codespell
|
||||
|
||||
- name: Run codespell
|
||||
|
||||
5
.github/workflows/pep8-linter.yml
vendored
5
.github/workflows/pep8-linter.yml
vendored
@@ -14,12 +14,11 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
python-version: "3.13"
|
||||
- name: Install ruff (a faster flake 8 equivalent)
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv sync --dev --python=3.10
|
||||
uv add ruff
|
||||
|
||||
- name: Run ruff with exceptions
|
||||
|
||||
Reference in New Issue
Block a user