Skip to content

Commit

Permalink
Add linting yml-files.
Browse files Browse the repository at this point in the history
  • Loading branch information
JacobTh98 committed Oct 25, 2023
1 parent db9fe01 commit 5f55d0a
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 0 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/lint_nb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Linting Notebooks with Black

on:
push:
branches:
- ci # Change this to your repository's main branch
pull_request:
branches:
- ci
jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12" # Change this to your desired Python version

- name: Install dependencies
run: |
pip install black==23.1.0 nbformat black[jupyter]
continue-on-error: false

- name: Find notebooks
id: find-notebooks
run: |
find . -name "*.ipynb" > notebooks.txt
continue-on-error: true

- name: Lint notebooks
run: |
cat notebooks.txt | xargs -I {} black --line-length 88 --check {}
continue-on-error: true

- name: Check lint results
run: |
if grep -q "would reformat" notebooks.txt; then
echo "Linting issues found. Run 'black' to auto-format the notebooks."
exit 1
else
echo "All notebooks are properly formatted."
fi
60 changes: 60 additions & 0 deletions .github/workflows/run_nb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Run Notebooks

on:
push:
branches:
- ci # Change this to your repository's main branch
pull_request:
branches:
- ci
schedule:
- cron: "0 0 * * 0" # Run every Sunday at midnight UTC (4 week interval)

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

# Testing matrix by printing the current Python version:
- name: Display Python version
run: python -c "import sys; print(sys.version)"

- name: Install dependencies
run: pip install jupyter nbconvert
- run: pip install -r requirements.txt

- name: Find notebooks
id: find-notebooks
run: |
find . -name "*.ipynb" > notebooks.txt
cat notebooks.txt
shell: bash

- name: Execute notebooks
run: |
cat notebooks.txt | while read -r notebook; do
jupyter nbconvert --to notebook --execute --inplace "$notebook"
done
continue-on-error: false
shell: bash

- name: Check for errors
run: |
if grep "raise Exception(" *.ipynb; then
echo "Error found in notebook(s)."
exit 1
else
echo "No errors found in notebooks."
fi
shell: bash

0 comments on commit 5f55d0a

Please sign in to comment.