Actor-Signal Interface #219
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
# event that triggers workflow | |
# runs on every pull request | |
on: | |
pull_request: | |
branches: | |
- main | |
jobs: | |
integration-tests: | |
# specifies the os that the job will run on | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.8, 3.12] | |
steps: | |
# downloads the repository code to the runner's file system for workflow access | |
- uses: actions/checkout@v4 | |
# sets up python environment with specified versions | |
- name: Set up python ${{ matrix.python-version }} | |
id: setup-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# installs poetry and configures it | |
- name: Install poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
# loads cached venv if it exists | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: venv-${{ steps.setup-python.outputs.python-version }} | |
# build package | |
- name: Build package out of local poject | |
run: poetry build | |
# install package | |
- name: Install package | |
run: pip install dist/*.tar.gz | |
# Install dependencies needed for notebook execution | |
- name: Install notebook dependencies | |
run: pip install jupyter nbconvert matplotlib | |
# Execute example notebooks to verify that no errors are thrown | |
- name: Run Jupyter Notebooks | |
run: | | |
notebooks=("examples/signal_example.ipynb" "examples/basic_example.ipynb" "examples/controller_example.ipynb") | |
for notebook in "${notebooks[@]}"; do | |
jupyter nbconvert --to notebook --execute "$notebook" | |
done |