From 8cb412eb189f8a64b7a8b00871b07a125e1b1f01 Mon Sep 17 00:00:00 2001 From: rasbt Date: Wed, 19 Feb 2025 19:19:18 -0600 Subject: [PATCH] improve setup --- .github/workflows/basic-tests-linux-uv.yml | 3 +- .github/workflows/basic-tests-macos-uv.yml | 3 +- .github/workflows/basic-tests-windows-uv.yml | 60 ++++++++++++++++++++ requirements.txt | 3 +- 4 files changed, 63 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/basic-tests-windows-uv.yml diff --git a/.github/workflows/basic-tests-linux-uv.yml b/.github/workflows/basic-tests-linux-uv.yml index 2ce889e..82c7e56 100644 --- a/.github/workflows/basic-tests-linux-uv.yml +++ b/.github/workflows/basic-tests-linux-uv.yml @@ -39,8 +39,7 @@ jobs: shell: bash run: | curl -LsSf https://astral.sh/uv/install.sh | sh - uv python install 3.10 - uv add . --dev + uv sync --dev --python 3.11 uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt uv add pytest-ruff nbval diff --git a/.github/workflows/basic-tests-macos-uv.yml b/.github/workflows/basic-tests-macos-uv.yml index b0c5844..138467b 100644 --- a/.github/workflows/basic-tests-macos-uv.yml +++ b/.github/workflows/basic-tests-macos-uv.yml @@ -39,8 +39,7 @@ jobs: shell: bash run: | curl -LsSf https://astral.sh/uv/install.sh | sh - uv python install 3.10 - uv add . --dev + uv sync --dev --python 3.11 uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt uv add pytest-ruff nbval diff --git a/.github/workflows/basic-tests-windows-uv.yml b/.github/workflows/basic-tests-windows-uv.yml new file mode 100644 index 0000000..fe0ab03 --- /dev/null +++ b/.github/workflows/basic-tests-windows-uv.yml @@ -0,0 +1,60 @@ +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.11' + + - name: Install dependencies + shell: pwsh + run: | + powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" + uv python install 3.11 + $env:UV_PIP_OPTS="--no-binary tensorflow-io-gcs-filesystem" + uv sync --dev + uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt + uv pip install 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 diff --git a/requirements.txt b/requirements.txt index 60d486a..985933e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,8 +2,7 @@ torch >= 2.3.0 # all jupyterlab >= 4.0 # all tiktoken >= 0.5.1 # ch02; ch04; ch05 matplotlib >= 3.7.1 # ch04; ch05 -tensorflow>=2.18.0; sys_platform != "win32" # ch05 (non-Windows) -tensorflow-cpu>=2.18.0; sys_platform == "win32" # ch05 (Windows) +tensorflow>=2.18.0 # ch05; ch06; ch07 tqdm >= 4.66.1 # ch05; ch07 numpy >= 1.26, < 2.1 # dependency of several other libraries like torch and pandas pandas >= 2.2.1 # ch06