Skip to content

Add adjacency tensor function (#664) #33

Add adjacency tensor function (#664)

Add adjacency tensor function (#664) #33

name: Test tutorials
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install packages
run: |
sudo apt-get install -y rename
python -m pip install --upgrade pip wheel setuptools
python -m pip install -r requirements/default.txt -r requirements/test.txt -r requirements/tutorial.txt
python -m pip install .
python -m pip list
- name: Prepare case studies notebooks
run: |
# go into tutorial location
cd tutorials/case_studies
# convert each notebook into a python file
jupyter nbconvert --to script *.ipynb
# rename the files so they are found by pytest: add 'test' at the beginning
rename 's/(.*)\.py/test $1.py/' *
# rename the files so they are found by pytest: change spaces to underscores
rename 's/ /_/g' test*
# modify each file by adding one level of indentation to each line
sed -i 's/^/ /' test*.py
# modify each file by adding 'def test_func():' at the top
sed -i '1s;^;def test_func():\n;' test*.py
- name: Prepare focus notebooks
run: |
# go into tutorial location
cd tutorials/focus
# convert each notebook into a python file
jupyter nbconvert --to script *.ipynb
# rename the files so they are found by pytest: add 'test' at the beginning
rename 's/(.*)\.py/test $1.py/' *
# rename the files so they are found by pytest: change spaces to underscores
rename 's/ /_/g' test*
# modify each file by adding one level of indentation to each line
sed -i 's/^/ /' test*.py
# modify each file by adding 'def test_func():' at the top
sed -i '1s;^;def test_func():\n;' test*.py
- name: Prepare getting started notebooks
run: |
# go into tutorial location
cd tutorials/getting_started
# convert each notebook into a python file
jupyter nbconvert --to script *.ipynb
# rename the files so they are found by pytest: add 'test' at the beginning
rename 's/(.*)\.py/test $1.py/' *
# rename the files so they are found by pytest: change spaces to underscores
rename 's/ /_/g' test*
# modify each file by adding one level of indentation to each line
sed -i 's/^/ /' test*.py
# modify each file by adding 'def test_func():' at the top
sed -i '1s;^;def test_func():\n;' test*.py
- name: Prepare in-depth notebooks
run: |
# go into tutorial location
cd tutorials/in_depth
# convert each notebook into a python file
jupyter nbconvert --to script *.ipynb
# rename the files so they are found by pytest: add 'test' at the beginning
rename 's/(.*)\.py/test $1.py/' *
# rename the files so they are found by pytest: change spaces to underscores
rename 's/ /_/g' test*
# modify each file by adding one level of indentation to each line
sed -i 's/^/ /' test*.py
# modify each file by adding 'def test_func():' at the top
sed -i '1s;^;def test_func():\n;' test*.py
- name: Test tutorial notebooks
run: |
# run pytest ONLY on the tutorials
cd tutorials
cd focus
pytest --color=yes
cd ../getting_started
pytest --color=yes
cd ../in_depth
pytest --color=yes
# removed this to speed up the tests
# cd ../case_studies
# pytest --color=yes