ci: add astra integration tests to CI (#2643)

* Add astra integration tests to CI

* Add astra integration tests to CI

* revert whitespace changes

* update filter

* Swap to using a scheduled job rather than filter
This commit is contained in:
Jordan Frazier 2024-07-16 17:38:17 -07:00 committed by GitHub
commit ae3439c40b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 75 additions and 18 deletions

15
.github/changes-filter.yaml vendored Normal file
View file

@ -0,0 +1,15 @@
# https://github.com/dorny/paths-filter
python:
- "src/backend/**"
- "src/backend/**.py"
- "pyproject.toml"
- "poetry.lock"
- "**/python_test.yml"
tests:
- "tests/**"
- "src/frontend/tests/**"
frontend:
- "src/frontend/**"
- "**/typescript_test.yml"
docs:
- "docs/**"

View file

@ -18,8 +18,6 @@ on:
type: string
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
@ -42,21 +40,7 @@ jobs:
id: filter
uses: dorny/paths-filter@v3
with:
filters: |
python:
- "src/backend/**"
- "src/backend/**.py"
- "pyproject.toml"
- "poetry.lock"
- "**/python_test.yml"
tests:
- "tests/**"
- "src/frontend/tests/**"
frontend:
- "src/frontend/**"
- "**/typescript_test.yml"
docs:
- "docs/**"
filters: ./.github/changes-filter.yaml
test-backend:
needs: path-filter

View file

@ -11,7 +11,6 @@ on:
env:
POETRY_VERSION: "1.8.2"
jobs:
build:
name: Run Unit Tests

View file

@ -0,0 +1,59 @@
name: Integration tests
on:
workflow_dispatch:
inputs:
branch:
description: "(Optional) Branch to checkout"
required: false
type: string
schedule:
- cron: "0 0 */2 * *" # Run every 2 days
env:
POETRY_VERSION: "1.8.2"
jobs:
setup-environment:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.12"
- "3.11"
- "3.10"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch || github.ref }}
- name: Set up Python ${{ matrix.python-version }} + Poetry ${{ env.POETRY_VERSION }}
uses: "./.github/actions/poetry_caching"
with:
python-version: ${{ matrix.python-version }}
poetry-version: ${{ env.POETRY_VERSION }}
cache-key: ${{ runner.os }}-poetry-${{ env.POETRY_VERSION }}-${{ hashFiles('**/poetry.lock') }}
- name: Install Python dependencies
run: |
poetry env use ${{ matrix.python-version }}
poetry install
test-integration:
needs: setup-environment
name: Run Integration Tests
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.12"
- "3.11"
- "3.10"
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ASTRA_DB_API_KEY: ${{ secrets.ASTRA_DB_API_KEY }}
ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
steps:
- name: Run integration tests
timeout-minutes: 12
run: |
make integration_tests