Skip to content

Commit

Permalink
Implemented CI (#20)
Browse files Browse the repository at this point in the history
* Add linting yml-files.
* Linted files with black==23.1.0
* Updated the workflows in running the notebooks
* Set python versions: ["3.10", "3.11", "3.12"].
* Set continue-on-error to false.
  • Loading branch information
JacobTh98 authored Oct 25, 2023
1 parent db9fe01 commit a6ef796
Show file tree
Hide file tree
Showing 51 changed files with 1,881 additions and 1,592 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:
- master # Change this to the repository's main branch
pull_request:
branches:
- master
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
65 changes: 65 additions & 0 deletions .github/workflows/run_nb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Run Notebooks

on:
push:
branches:
- master # Change this to the repository's main branch
pull_request:
branches:
- master
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
- run: pip install -r ci/requirements.txt

- name: Install PortAudio library
run: sudo apt-get install libportaudio2
- run: sudo apt-get install libasound-dev

- name: Find notebooks
id: find-notebooks
run: |
find . -name "*.ipynb" -not -name "acoustic_impulse_response_measurement.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
Loading

0 comments on commit a6ef796

Please sign in to comment.