Skip to content

CI - E2E tests

CI - E2E tests #177

Workflow file for this run

name: CI - E2E tests
on:
workflow_dispatch: {}
schedule:
# astra dev and dse - every 2 hours
- cron: "0 */2 * * *"
pull_request:
paths-ignore:
- "scripts/**"
- "docs/**"
- "README.adoc"
- "PACKAGE_README.md"
branches:
- main
concurrency:
group: ragstack-e2e-tests-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Run lint
uses: ./.github/actions/lint
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"
is-scheduled: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v2
id: filter
with:
filters: ./.github/changes-filter.yaml
ragstack-dev-dse-tests:
name: "RAGStack dev / DSE"
needs: ["preconditions", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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", "lint"]
if: ${{ needs.preconditions.outputs.is-scheduled == '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"