From c7a8d2995b1c9cc3c3f8aa95bb8ceb5e289f5079 Mon Sep 17 00:00:00 2001 From: Igor Ilic Date: Fri, 29 Nov 2024 13:42:04 +0100 Subject: [PATCH] test: Add reusable python example workflow Add reusable workflow for python examples, add simple example python script test Test COG-686 --- .github/workflows/reusable_python_example.yml | 60 +++++++++++++++++++ .github/workflows/test_simple_example.yml | 23 +++++++ 2 files changed, 83 insertions(+) create mode 100644 .github/workflows/reusable_python_example.yml create mode 100644 .github/workflows/test_simple_example.yml diff --git a/.github/workflows/reusable_python_example.yml b/.github/workflows/reusable_python_example.yml new file mode 100644 index 000000000..5a8e47e64 --- /dev/null +++ b/.github/workflows/reusable_python_example.yml @@ -0,0 +1,60 @@ +name: test-example + +on: + workflow_call: + inputs: + example-location: + description: "Location of example script 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 + + - name: Execute Python Example + env: + ENV: 'dev' + LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }} + GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }} + GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }} + run: poetry run python ${{ inputs.example-location }} \ No newline at end of file diff --git a/.github/workflows/test_simple_example.yml b/.github/workflows/test_simple_example.yml new file mode 100644 index 000000000..78e0b5252 --- /dev/null +++ b/.github/workflows/test_simple_example.yml @@ -0,0 +1,23 @@ +name: test | simple example + +on: + workflow_dispatch: + pull_request: + branches: + - main + types: [labeled, synchronize] + + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + run_simple_example_test: + uses: ./.github/workflows/reusable_python_example.yml + with: + example-location: ./examples/python/simple_example.py + secrets: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }} + GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}