name: test-notebook on: workflow_call: inputs: notebook-location: description: "Location of Jupyter notebook to run" required: true type: string secrets: GRAPHISTRY_USERNAME: required: true GRAPHISTRY_PASSWORD: required: true OPENAI_API_KEY: required: true env: RUNTIME__LOG_LEVEL: ERROR jobs: run_notebook_test: name: test runs-on: ubuntu-22.04 defaults: run: shell: bash steps: - name: Check out uses: actions/checkout@master - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.11.x' - name: Install Poetry uses: snok/install-poetry@v1.4.1 with: virtualenvs-create: true virtualenvs-in-project: true installer-parallel: true - name: Install dependencies run: | poetry install --no-interaction --all-extras poetry add jupyter --no-interaction - name: Execute Jupyter Notebook env: ENV: 'dev' LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }} GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }} GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }} run: | poetry run jupyter nbconvert \ --to notebook \ --execute ${{ inputs.notebook-location }} \ --output executed_notebook.ipynb \ --ExecutePreprocessor.timeout=1200