Skip to content

Commit

Permalink
Try windows runners (#133)
Browse files Browse the repository at this point in the history
* try windows runners

* update triggers

* trigger with code file update

* add new status badges
  • Loading branch information
rasbt authored Apr 28, 2024
1 parent e1d094b commit 9a5d4d8
Show file tree
Hide file tree
Showing 5 changed files with 116 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
name: Code tests
name: Code tests on Linux

on:
push:
branches: [ main ]
paths:
- '**/*.py' # Run workflow for changes in Python files
- '**/*.ipynb' # Run workflow for changes in Jupyter notebooks
- '**/*.py' # Run workflow for changes in Python files
- '**/*.ipynb'
- '**/*.yaml'
- '**/*.sh'
pull_request:
branches: [ main ]
paths:
- '**/*.py'
- '**/*.ipynb'
- '**/*.yaml'
- '**/*.sh'

jobs:
test:
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/basic-tests-macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Code tests on macOS

on:
push:
branches: [ main ]
paths:
- '**/*.py' # Run workflow for changes in Python files
- '**/*.ipynb'
- '**/*.yaml'
- '**/*.sh'
pull_request:
branches: [ main ]
paths:
- '**/*.py'
- '**/*.ipynb'
- '**/*.yaml'
- '**/*.sh'

jobs:
test:
runs-on: macos-latest

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest nbval
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Test Selected Python Scripts
run: |
pytest ch04/01_main-chapter-code/tests.py
pytest ch05/01_main-chapter-code/tests.py
pytest setup/02_installing-python-libraries/tests.py
- name: Validate Selected Jupyter Notebooks
run: |
pytest --nbval ch02/01_main-chapter-code/dataloader.ipynb
pytest --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb
51 changes: 51 additions & 0 deletions .github/workflows/basic-tests-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Code tests on Windows

on:
push:
branches: [ main ]
paths:
- '**/*.py' # Run workflow for changes in Python files
- '**/*.ipynb'
- '**/*.yaml'
- '**/*.sh'
pull_request:
branches: [ main ]
paths:
- '**/*.py'
- '**/*.ipynb'
- '**/*.yaml'
- '**/*.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.10'

- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install pytest nbval
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Test Selected Python Scripts
shell: bash
run: |
pytest ch04/01_main-chapter-code/tests.py
pytest ch05/01_main-chapter-code/tests.py
pytest setup/02_installing-python-libraries/tests.py
- name: Validate Selected Jupyter Notebooks
shell: bash
run: |
pytest --nbval ch02/01_main-chapter-code/dataloader.ipynb
pytest --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@ Alternatively, you can view this and other files on GitHub at [https://github.co
<br>

[![Code tests on Linux](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests-linux.yml/badge.svg)](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests-linux.yml)
[![Code tests on Windows](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests-windows.yml/badge.svg?123)](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests-windows.yml)
[![Code tests on macOS](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests-macos.yml/badge.svg)](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests-macos.yml)
[![Python PEP8 linting](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/pep8-linter.yml/badge.svg)](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/pep8-linter.yml)
[![Python tests](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests.yml/badge.svg)](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/basic-tests.yml)
[![Check hyperlinks](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/check-links.yml/badge.svg)](https://github.com/rasbt/LLMs-from-scratch/actions/workflows/check-links.yml)

<br>
Expand Down
8 changes: 8 additions & 0 deletions ch03/02_bonus_efficient-multihead-attention/ch03.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# Copyright (c) Sebastian Raschka under Apache License 2.0 (see LICENSE.txt).
# Source for "Build a Large Language Model From Scratch"
# - https://www.manning.com/books/build-a-large-language-model-from-scratch
# Code: https://github.com/rasbt/LLMs-from-scratch
#
# This file contains the relevant code from chapter 3 that is going to be used
# in forthcoming chapters.

import torch
import torch.nn as nn

Expand Down

0 comments on commit 9a5d4d8

Please sign in to comment.