From e4f1c9a4d0ef9fbaf183cf23788c4fa2255ce3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= Date: Fri, 6 Feb 2026 14:33:51 -0800 Subject: [PATCH 1/3] CI: minor fixes in the build scripts --- tox.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index 089413e0..d0eaed5b 100644 --- a/tox.ini +++ b/tox.ini @@ -75,14 +75,15 @@ commands = # We only skip testing untouched tutorials in PRs; in cron and dispatch all should be tested. Make sure we don't jupytext non-notebook files. !buildhtml: bash -c 'if [[ $GITHUB_EVENT_NAME == pull_request && -z "$(grep force_run:all_tests ${GITHUB_EVENT_PATH})" ]]; then grep -f changed_tutorials all_tutorials; else cat all_tutorials; fi | grep -vf ignore_testing | xargs jupytext --to notebook ' - !buildhtml: bash -c "echo 'Notebooks ignored (not tested/executed) in this job:\n'; cat ignore_testing | sort | uniq" + !buildhtml: bash -c "echo '📝📝📝 Notebooks ignored (not tested/executed) in this job:'; cat ignore_testing | sort | uniq" + !buildhtml: pytest --nbval-lax -vv --suppress-no-test-exit-code --durations=10 tutorials # We don't want to execute in rendering the ones we ignore for testing - buildhtml: bash -c 'grep -f ignore_testing all_tutorials > ignore_execute' + buildhtml: bash -c 'grep -f ignore_testing all_tutorials || true > ignore_execute' # On CircleCI rendering preview, we also don't want to execute anything that hasn't been modified - buildhtml: bash -c 'if [[ $CIRCLECI == true ]]; then grep -vf changed_tutorials all_tutorials >> ignore_execute; fi' + buildhtml: bash -c 'if [[ $CIRCLECI == true ]]; then grep -vf changed_tutorials all_tutorials || true >> ignore_execute; fi' # sed -i needs a bit of hacky conditional on ubuntu to cover the case of an empty ignore buildhtml: bash -c 'if [ -s ignore_execute ]; then for name in $(cat ignore_execute | sort| uniq); do if [ -z "$(head -n 20 ${name}| grep execute:)" ]; then sed -i -e "s|kernelspec:|execute:\n skip: true\nkernelspec:|g" ${name}; fi; done;fi' From 20f1b071bf4f7944612054200343e868e0bcf76c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= Date: Fri, 6 Feb 2026 14:48:47 -0800 Subject: [PATCH 2/3] minor printout tox --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index d0eaed5b..9b5fb622 100644 --- a/tox.ini +++ b/tox.ini @@ -75,7 +75,7 @@ commands = # We only skip testing untouched tutorials in PRs; in cron and dispatch all should be tested. Make sure we don't jupytext non-notebook files. !buildhtml: bash -c 'if [[ $GITHUB_EVENT_NAME == pull_request && -z "$(grep force_run:all_tests ${GITHUB_EVENT_PATH})" ]]; then grep -f changed_tutorials all_tutorials; else cat all_tutorials; fi | grep -vf ignore_testing | xargs jupytext --to notebook ' - !buildhtml: bash -c "echo '📝📝📝 Notebooks ignored (not tested/executed) in this job:'; cat ignore_testing | sort | uniq" + !buildhtml: bash -c "echo 'Notebooks ignored (not tested/executed) in this job:'; cat ignore_testing | sort | uniq" !buildhtml: pytest --nbval-lax -vv --suppress-no-test-exit-code --durations=10 tutorials @@ -88,7 +88,7 @@ commands = # sed -i needs a bit of hacky conditional on ubuntu to cover the case of an empty ignore buildhtml: bash -c 'if [ -s ignore_execute ]; then for name in $(cat ignore_execute | sort| uniq); do if [ -z "$(head -n 20 ${name}| grep execute:)" ]; then sed -i -e "s|kernelspec:|execute:\n skip: true\nkernelspec:|g" ${name}; fi; done;fi' - buildhtml: bash -c "echo 'Notebooks ignored (not tested/executed) in this job:\n'; cat ignore_execute | sort | uniq" + buildhtml: bash -c "echo 'Notebooks ignored (not tested/executed) in this job:'; cat ignore_execute | sort | uniq" # Using srtict so we fail with trackbacks and debug mode to have a richer log # For full build we disable parallel runs to easy server load From 219f137bc03bde2c2ec84e5ada8de95de7eef65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= Date: Wed, 11 Feb 2026 13:47:02 -0800 Subject: [PATCH 3/3] BUG: fix command logic --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 9b5fb622..956bd8fd 100644 --- a/tox.ini +++ b/tox.ini @@ -80,10 +80,10 @@ commands = !buildhtml: pytest --nbval-lax -vv --suppress-no-test-exit-code --durations=10 tutorials # We don't want to execute in rendering the ones we ignore for testing - buildhtml: bash -c 'grep -f ignore_testing all_tutorials || true > ignore_execute' + buildhtml: bash -c '(grep -f ignore_testing all_tutorials || true) > ignore_execute' # On CircleCI rendering preview, we also don't want to execute anything that hasn't been modified - buildhtml: bash -c 'if [[ $CIRCLECI == true ]]; then grep -vf changed_tutorials all_tutorials || true >> ignore_execute; fi' + buildhtml: bash -c 'if [[ $CIRCLECI == true ]]; then (grep -vf changed_tutorials all_tutorials || true) >> ignore_execute; fi' # sed -i needs a bit of hacky conditional on ubuntu to cover the case of an empty ignore buildhtml: bash -c 'if [ -s ignore_execute ]; then for name in $(cat ignore_execute | sort| uniq); do if [ -z "$(head -n 20 ${name}| grep execute:)" ]; then sed -i -e "s|kernelspec:|execute:\n skip: true\nkernelspec:|g" ${name}; fi; done;fi'