diff --git a/.github/reusable_workflows/notebook.yml b/.github/reusable_workflows/notebook.yml new file mode 100644 index 000000000..05ca08d32 --- /dev/null +++ b/.github/reusable_workflows/notebook.yml @@ -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 \ No newline at end of file diff --git a/.github/workflows/test_notebook.yml b/.github/workflows/test_notebook.yml index e5d10f0f5..985e4a646 100644 --- a/.github/workflows/test_notebook.yml +++ b/.github/workflows/test_notebook.yml @@ -12,52 +12,19 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: 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 + - name: run notebook workflow + uses: ./.github/reusable_workflows/notebook.yml 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 - poetry add jupyter --no-interaction - - - name: Execute Jupyter Notebook - env: - ENV: 'dev' - LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }} + notebook-location: notebooks/cognee_demo.ipynb + secrets: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }} GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }} - run: | - poetry run jupyter nbconvert \ - --to notebook \ - --execute notebooks/cognee_demo.ipynb \ - --output executed_notebook.ipynb \ - --ExecutePreprocessor.timeout=1200 \ No newline at end of file