feat: Add reusable workflows for jupyter notebooks
Add reusable workflows for Jupyer notebooks Feature COG-686
This commit is contained in:
parent
be6eebfbb1
commit
a2b4c5b9eb
2 changed files with 71 additions and 38 deletions
66
.github/reusable_workflows/notebook.yml
vendored
Normal file
66
.github/reusable_workflows/notebook.yml
vendored
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
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:
|
||||||
|
get_docs_changes:
|
||||||
|
name: docs changes
|
||||||
|
uses: ./.github/workflows/get_docs_changes.yml
|
||||||
|
|
||||||
|
run_notebook_test:
|
||||||
|
name: test
|
||||||
|
needs: get_docs_changes
|
||||||
|
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && github.event.label.name == 'run-checks'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
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.3.2
|
||||||
|
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
|
||||||
43
.github/workflows/test_notebook.yml
vendored
43
.github/workflows/test_notebook.yml
vendored
|
|
@ -12,52 +12,19 @@ concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
env:
|
|
||||||
RUNTIME__LOG_LEVEL: ERROR
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
get_docs_changes:
|
|
||||||
name: docs changes
|
|
||||||
uses: ./.github/workflows/get_docs_changes.yml
|
|
||||||
|
|
||||||
run_notebook_test:
|
run_notebook_test:
|
||||||
name: test
|
name: test
|
||||||
needs: get_docs_changes
|
|
||||||
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: run notebook workflow
|
||||||
uses: actions/checkout@master
|
uses: ./.github/reusable_workflows/notebook.yml
|
||||||
|
|
||||||
- name: Setup Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
with:
|
||||||
python-version: '3.11.x'
|
notebook-location: notebooks/cognee_demo.ipynb
|
||||||
|
secrets:
|
||||||
- name: Install Poetry
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
uses: snok/install-poetry@v1.3.2
|
|
||||||
with:
|
|
||||||
virtualenvs-create: true
|
|
||||||
virtualenvs-in-project: true
|
|
||||||
installer-parallel: true
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
poetry install --no-interaction
|
|
||||||
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_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||||
run: |
|
|
||||||
poetry run jupyter nbconvert \
|
|
||||||
--to notebook \
|
|
||||||
--execute notebooks/cognee_demo.ipynb \
|
|
||||||
--output executed_notebook.ipynb \
|
|
||||||
--ExecutePreprocessor.timeout=1200
|
|
||||||
Loading…
Add table
Reference in a new issue