CI #41
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 | |
on: | |
workflow_dispatch: {} | |
schedule: | |
# astra dev and dse - every 2 hours | |
- cron: "0 */2 * * *" | |
pull_request: | |
paths-ignore: | |
- "README.md" | |
branches: | |
- main | |
concurrency: | |
group: ragstack-e2e-tests-${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
preconditions: | |
name: Preconditions | |
runs-on: ubuntu-latest | |
outputs: | |
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 | |
- name: Lint | |
run: | | |
cd ragstack-ai-js | |
yarn install --immutable | |
yarn run lint | |
cd ../ragstack-ai-js-e2e-tests | |
yarn install --immutable | |
yarn run lint | |
- name: Unit tests | |
run: | | |
cd ragstack-ai-js | |
yarn run test | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: ./.github/changes-filter.yaml | |
ragstack-dev-dse-tests: | |
name: "RAGStack dev / DSE" | |
needs: ["preconditions"] | |
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"] | |
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" |