diff --git a/.ci_support/environment-notebooks.yml b/.ci_support/environment-notebooks.yml new file mode 100644 index 0000000..ae489cd --- /dev/null +++ b/.ci_support/environment-notebooks.yml @@ -0,0 +1,5 @@ +channels: +- conda-forge +dependencies: +- jupyter +- papermill \ No newline at end of file diff --git a/.github/workflows/notebooks.yml b/.github/workflows/notebooks.yml new file mode 100644 index 0000000..f4592b4 --- /dev/null +++ b/.github/workflows/notebooks.yml @@ -0,0 +1,40 @@ +# This workflow is used to test, if the code is compatible with jupyter notebooks providing usage examples + +name: Notebooks + +on: + push: + branches: [ main ] + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Merge Notebook environment + run: | + cp binder/environment.yml environment.yml + tail --lines=+4 .ci_support/environment-notebooks.yml >> environment.yml + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2 + with: + python-version: "3.12" + miniforge-variant: Mambaforge + channels: conda-forge + channel-priority: strict + activate-environment: my-env + environment-file: environment.yml + use-mamba: true + - name: Install + shell: bash -l {0} + run: | + pip install versioneer[toml]==0.29 + pip install . --no-deps --no-build-isolation + mkdir config + cp -r tests/config/flux config + - name: Notebooks + shell: bash -l {0} + run: > + flux start + papermill notebooks/example.ipynb example-out.ipynb -k "python3" \ No newline at end of file diff --git a/binder/environment.yml b/binder/environment.yml index 835ae78..c49722d 100644 --- a/binder/environment.yml +++ b/binder/environment.yml @@ -11,4 +11,4 @@ dependencies: - pympipool =0.8.1 - cloudpickle =3.0.0 - flux-core =0.59.0 -- versioneer =0.28 \ No newline at end of file +- versioneer =0.28