diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..bad6bfe --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,60 @@ +# testing all notebooks +name: TEST + +on: + - push + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + matrix: + python-version: ['3.11', '3.12'] + notebook: [ Ch02-statlearn-lab.ipynb, + Ch03-linreg-lab.ipynb, + Ch04-classification-lab.ipynb, + Ch05-resample-lab.ipynb, + Ch06-varselect-lab.ipynb, + Ch07-nonlin-lab.ipynb, + Ch08-baggboost-lab.ipynb, + Ch09-svm-lab.ipynb, + Ch10-deeplearning-lab.ipynb, + Ch11-surv-lab.ipynb, + Ch12-unsup-lab.ipynb, + Ch13-multiple-lab.ipynb] + exclude: + - python-version: '3.11' + notebook: Ch10-deeplearning-lab.ipynb + + fail-fast: false + + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + version: "0.5.15" + + + #- name: Set up Python + # shell: bash + # run: | + # uv python install ${{ matrix.python-version }} + + - name: Create venv + shell: bash + run: uv venv --python ${{ matrix.python-version }} + + - name: Install requirements + shell: bash + run: | + uv pip install --upgrade pip + uv pip install -r requirements.txt + uv pip install pytest nbmake + + - name: Test + shell: bash + run: | + uv run pytest --nbmake --nbmake-timeout=3600 -vv ${{ matrix.notebook }}