(docs) MMR page switch to AstraDBVectorStore (=data api) #2292
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: CI - E2E tests | |
on: | |
workflow_dispatch: {} | |
schedule: | |
# keep different crons to reduce the n. of databases at the same time on astra | |
- cron: "0 0 * * *" | |
- cron: "0 1 * * *" | |
- cron: "0 2 * * *" | |
- cron: "0 3 * * *" | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ragstack-e2e-tests-${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
preconditions: | |
name: Preconditions | |
runs-on: ubuntu-latest | |
outputs: | |
notebooks: ${{ steps.filter.outputs.notebooks }} | |
e2e_tests: ${{ steps.filter.outputs.e2e_tests }} | |
astradb-dev-region: "us-west-2" | |
astradb-dev-cloud: "aws" | |
astradb-prod-region: "us-east-2" | |
astradb-prod-cloud: "aws" | |
is-scheduled: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} | |
# yamllint disable-line rule:line-length | |
is-ragstack-dev-cron: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'schedule' && github.event.schedule == '0 0 * * *') }} | |
# yamllint disable-line rule:line-length | |
is-ragstack-latest-release-cron: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'schedule' && github.event.schedule == '0 1 * * *') }} | |
# yamllint disable-line rule:line-length | |
is-langchain-dev-cron: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'schedule' && github.event.schedule == '0 2 * * *') }} | |
# yamllint disable-line rule:line-length | |
is-llamaindex-dev-cron: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'schedule' && github.event.schedule == '0 3 * * *') }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python 3.11 | |
uses: ./.github/actions/setup-python | |
- name: Run lint | |
uses: ./.github/actions/lint | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: ./.github/changes-filter.yaml | |
ragstack-dev-dse-tests: | |
name: "RAGStack dev / DSE" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-ragstack-dev-cron == 'true' || needs.preconditions.outputs.e2e_tests == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "RAGStack dev / DSE" | |
suite-name: "ragstack" | |
astradb: false | |
vector-database-type: "local-cassandra" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - RAGStack dev - DSE" | |
ragstack-dev-astradev-tests: | |
name: "RAGStack dev / AstraDB dev" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-ragstack-dev-cron == 'true' || needs.preconditions.outputs.e2e_tests == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "RAGStack dev / AstraDB dev" | |
suite-name: "ragstack" | |
astradb: true | |
astradb-token-secret-name: "E2E_TESTS_ASTRA_DEV_DB_TOKEN" | |
astradb-env: "DEV" | |
astradb-region: "${{ needs.preconditions.outputs.astradb-dev-region }}" | |
astradb-cloud: "${{ needs.preconditions.outputs.astradb-dev-cloud }}" | |
vector-database-type: "astradb" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - RAGStack dev - AstraDB" | |
langchain-dse-tests: | |
name: "LangChain dev / DSE" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-langchain-dev-cron == 'true' || needs.preconditions.outputs.e2e_tests == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "LangChain dev / DSE" | |
suite-name: "langchain" | |
astradb: false | |
vector-database-type: "local-cassandra" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - LangChain dev - DSE" | |
langchain-astradev-tests: | |
name: "LangChain dev / AstraDB dev" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-langchain-dev-cron == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "LangChain dev / AstraDB dev" | |
suite-name: "langchain" | |
astradb: true | |
astradb-token-secret-name: "E2E_TESTS_ASTRA_DEV_DB_TOKEN" | |
astradb-env: "DEV" | |
astradb-region: "${{ needs.preconditions.outputs.astradb-dev-region }}" | |
astradb-cloud: "${{ needs.preconditions.outputs.astradb-dev-cloud }}" | |
vector-database-type: "astradb" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - LangChain dev - AstraDB" | |
llamaindex-dse-tests: | |
name: "LLamaIndex dev / DSE" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-llamaindex-dev-cron == 'true' || needs.preconditions.outputs.e2e_tests == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "LLamaIndex dev / DSE" | |
suite-name: "llamaindex" | |
astradb: false | |
vector-database-type: "local-cassandra" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - LLamaIndex dev - DSE" | |
llamaindex-astradev-tests: | |
name: "LLamaIndex dev / AstraDB dev" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-llamaindex-dev-cron == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "LLamaIndex dev / AstraDB dev" | |
suite-name: "llamaindex" | |
astradb: true | |
astradb-token-secret-name: "E2E_TESTS_ASTRA_DEV_DB_TOKEN" | |
astradb-env: "DEV" | |
astradb-region: "${{ needs.preconditions.outputs.astradb-dev-region }}" | |
astradb-cloud: "${{ needs.preconditions.outputs.astradb-dev-cloud }}" | |
vector-database-type: "astradb" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - LLamaIndex dev - AstraDB" | |
ragstack-latest-release-dse-tests: | |
name: "RAGStack latest / DSE" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-ragstack-latest-release-cron == 'true' || needs.preconditions.outputs.e2e_tests == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "RAGStack latest / DSE" | |
suite-name: "ragstack-latest-release" | |
astradb: false | |
vector-database-type: "local-cassandra" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - RAGStack latest - DSE" | |
ragstack-latest-release-astradev-tests: | |
name: "RAGStack latest / AstraDB dev" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.is-ragstack-latest-release-cron == 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "RAGStack latest / AstraDB dev" | |
suite-name: "ragstack-latest-release" | |
astradb: true | |
astradb-token-secret-name: "E2E_TESTS_ASTRA_DEV_DB_TOKEN" | |
astradb-env: "DEV" | |
astradb-region: "${{ needs.preconditions.outputs.astradb-dev-region }}" | |
astradb-cloud: "${{ needs.preconditions.outputs.astradb-dev-cloud }}" | |
vector-database-type: "astradb" | |
deploy-to-slack: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
deploy-to-testspace: ${{ needs.preconditions.outputs.is-scheduled == 'true' }} | |
testspace-space: "RAGStack test suite - RAGStack latest - AstraDB" | |
notebook-tests: | |
# we run notebook tests only on PROD env since we CassIO need different parameters for DEV, and we don't want to dirty the notebook | |
name: "Notebooks" | |
needs: ["preconditions"] | |
if: ${{ needs.preconditions.outputs.notebooks == 'true' && needs.preconditions.outputs.is-scheduled != 'true' }} | |
uses: ./.github/workflows/_run_e2e_tests.yml | |
secrets: inherit | |
with: | |
title: "Notebooks" | |
astradb: true | |
run-tests: false | |
run-notebooks: true | |
astradb-token-secret-name: "E2E_TESTS_ASTRA_PROD_DB_TOKEN" | |
astradb-env: "PROD" | |
astradb-region: "${{ needs.preconditions.outputs.astradb-prod-region }}" | |
astradb-cloud: "${{ needs.preconditions.outputs.astradb-prod-cloud }}" | |
deploy-to-slack: false | |
deploy-to-testspace: false |