diff --git a/.github/actions/checkout-and-build/action.yml b/.github/actions/checkout-and-build/action.yml
deleted file mode 100644
index a15d31b3..00000000
--- a/.github/actions/checkout-and-build/action.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: 'Checkout & Build with Java'
-description: 'Checkout code, set up JDK, and build with Maven'
-inputs:
- java_distribution:
- description: 'JDK distribution to use'
- required: true
- default: 'adopt'
- java_version:
- description: 'JDK version to use'
- required: true
- default: '11.0'
- cache_pkg_mgr_name:
- description: 'Cache package manager to be used'
- required: true
- default: 'maven'
- skip_tests_on_build:
- description: 'Skip tests during Maven build'
- required: false
- default: 'true'
-runs:
- using: 'composite'
- steps:
- - name: Checkout Code
- uses: actions/checkout@v4
-
- - name: Set up JDK ${{ inputs.java_version }}
- uses: actions/setup-java@v4
- with:
- distribution: ${{ inputs.java_distribution }}
- java-version: ${{ inputs.java_version }}
- cache: ${{ inputs.cache_pkg_mgr_name}}
-
- - name: Build with Maven
- shell: bash
- run: |
- mvn install -Dmaven.test.skip=${{ inputs.skip_tests_on_build }}
\ No newline at end of file
diff --git a/.github/workflows/_astra-integration-tests.yml b/.github/workflows/_astra-integration-tests.yml
new file mode 100644
index 00000000..45555e1f
--- /dev/null
+++ b/.github/workflows/_astra-integration-tests.yml
@@ -0,0 +1,27 @@
+name: Run integration tests against Astra
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+permissions:
+ id-token: write
+
+jobs:
+ test-integration-astra:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v6
+
+ - name: Setup Java 17
+ uses: actions/setup-java@v5
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+ cache: 'maven'
+
+ - name: Run integration tests
+ env:
+ ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
+ run: mvn clean verify -pl astra-db-java -am -Pastra-dev -Dgpg.skip -B
diff --git a/.github/workflows/_docs-compile-tests.yml b/.github/workflows/_docs-compile-tests.yml
new file mode 100644
index 00000000..5004c6a3
--- /dev/null
+++ b/.github/workflows/_docs-compile-tests.yml
@@ -0,0 +1,33 @@
+name: Compile against documentation examples
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+jobs:
+ test-compilation:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v5
+ with:
+ java-version: 17
+ distribution: 'temurin'
+ cache: 'maven'
+
+ - name: Build with Maven
+ id: build
+ run: |
+ mvn install -pl astra-db-java -am -Dmaven.test.skip=true -Dgpg.skip -B
+ VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
+ echo "version=$VERSION" >> $GITHUB_OUTPUT
+
+ - name: Run compilation tests
+ uses: datastax/astra-client-docs-tests/.github/actions/test-compilation@master
+ with:
+ clients: 'java'
+ args: -A java='\"com.datastax.astra:astra-db-java:${{ steps.build.outputs.version }}\"'
+ docs-repo-token: ${{ secrets.DOC_GITHUB_PAT_CROSS_ORG }}
diff --git a/.github/workflows/_hcd-integration-tests.yml b/.github/workflows/_hcd-integration-tests.yml
new file mode 100644
index 00000000..186ac92d
--- /dev/null
+++ b/.github/workflows/_hcd-integration-tests.yml
@@ -0,0 +1,38 @@
+name: Run integration tests against HCD
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+permissions:
+ id-token: write
+
+jobs:
+ test-integration-hcd:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v6
+
+ - name: Setup Java 17
+ uses: actions/setup-java@v5
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+ cache: 'maven'
+
+ - name: Configure AWS credentials from OIDC
+ uses: aws-actions/configure-aws-credentials@v4
+ with:
+ role-to-assume: arn:aws:iam::559669398656:role/data-api-clients-ecr-ro-user
+ aws-region: us-west-2
+
+ - name: Login to Amazon ECR
+ uses: aws-actions/amazon-ecr-login@v2
+
+ - name: Start HCD and Data API
+ run: docker compose -f docker-compose-hcd.yml up -d --wait
+ working-directory: ${{ github.workspace }}/astra-db-java/src/test/resources
+
+ - name: Run integration tests
+ run: mvn clean verify -pl astra-db-java -am -Plocal -Dgpg.skip -B
diff --git a/.github/workflows/_unit-tests.yml b/.github/workflows/_unit-tests.yml
new file mode 100644
index 00000000..749ce7f5
--- /dev/null
+++ b/.github/workflows/_unit-tests.yml
@@ -0,0 +1,35 @@
+name: Run unit tests
+
+on:
+ workflow_call:
+ inputs:
+ java_versions:
+ type: string
+ description: 'Comma-separated list of Java versions e.g. "17","21","25"'
+ required: true
+ workflow_dispatch:
+ inputs:
+ java_versions:
+ description: 'Comma-separated list of Java versions e.g. "17","21","25"'
+ default: '"17"'
+ required: false
+
+jobs:
+ unit-tests:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ java-version: ${{ fromJSON(format('[{0}]', inputs.java_versions || '"17"')) }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v6
+
+ - name: Set up JDK ${{ matrix.java-version }}
+ uses: actions/setup-java@v5
+ with:
+ java-version: ${{ matrix.java-version }}
+ distribution: 'temurin'
+ cache: 'maven'
+
+ - name: Run unit tests
+ run: mvn clean test -pl astra-db-java -am -Dtest='!**/*IT' -B
diff --git a/.github/workflows/ci-astra-col-db-dbadmin.yaml b/.github/workflows/ci-astra-col-db-dbadmin.yaml
deleted file mode 100644
index 600b381e..00000000
--- a/.github/workflows/ci-astra-col-db-dbadmin.yaml
+++ /dev/null
@@ -1,94 +0,0 @@
-name: Astra | Collection/DB/DBAdmin Integration Tests
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
- inputs:
- java_distribution:
- description: 'JDK distribution to use'
- required: true
- default: 'adopt'
- type: choice
- options: ['adopt', 'temurin']
- java_version:
- description: 'JDK version to use'
- required: true
- default: '17.0'
- cache_pkg_mgr_name:
- description: 'Cache package manager to be used'
- required: true
- default: 'maven'
- skip_tests_on_build:
- description: 'Skip tests during Maven build'
- required: false
- default: 'true'
- test_to_run:
- description: 'Test to run'
- required: true
- default: 'AstraDevCollectionITTest'
- type: choice
- options:
- - 'AstraDevCollectionITTest'
- - 'AstraDevDatabaseITTest'
- - 'AstraDevDatabaseAdminITTest'
- - 'AstraProdCollectionITTest'
- - 'AstraProdDatabaseITTest'
- - 'AstraProdDatabaseAdminITTest'
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Checkout & Build
- uses: ./.github/actions/checkout-and-build
-
- run_dev_tests:
- needs: BUILD
- runs-on: ubuntu-latest
- strategy:
- matrix:
- # We had to do it this way because same regions aren't testing in various Astra envs.
- include:
- - cloud_provider: 'AWS'
- cloud_region: 'us-west-2'
- astra_environment: 'DEV'
- - cloud_provider: 'GCP'
- cloud_region: 'europe-west4'
- astra_environment: 'DEV'
- - cloud_provider: 'GCP'
- cloud_region: 'us-central1'
- astra_environment: 'DEV'
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ inputs.java_distribution }}
- java-version: ${{ inputs.java_version }}
- cache: ${{ inputs.cache_pkg_mgr_name }}
-
- - name: "Maven Test on ${{ matrix.cloud_provider }} - ${{ matrix.cloud_region }} [Astra DEV]"
- if: ${{ matrix.astra_environment == 'DEV' }}
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION_DEV: ${{ matrix.cloud_region }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.${{ inputs.test_to_run }}
-
- - name: "Maven Test on ${{ matrix.cloud_provider }} - ${{ matrix.cloud_region }} [Astra PROD]"
- if: ${{ matrix.astra_environment == 'PROD' }}
- env:
- ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
- ASTRA_CLOUD_PROVIDER: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION: ${{ matrix.cloud_region }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.prod.${{ inputs.test_to_run }}
diff --git a/.github/workflows/ci-astra-dev-collection.yml b/.github/workflows/ci-astra-dev-collection.yml
deleted file mode 100644
index 1985f490..00000000
--- a/.github/workflows/ci-astra-dev-collection.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-name: AstraDev | Collection
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
- AWS_US_WEST2_CORE:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevCollectionITTest
-
- GCP_EUROPE_WEST4:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevCollectionITTest
-
- GCP_US_CENTRAL1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
-
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: us-central1
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevCollectionITTest
diff --git a/.github/workflows/ci-astra-dev-database.yml b/.github/workflows/ci-astra-dev-database.yml
deleted file mode 100644
index 660a8ce1..00000000
--- a/.github/workflows/ci-astra-dev-database.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-name: AstraDev | Database
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
- AWS_US_WEST2_CORE:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDatabaseITTest
-
- GCP_EUROPE_WEST4:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDatabaseITTest
-
- GCP_US_CENTRAL1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
-
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: us-central1
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDatabaseITTest
diff --git a/.github/workflows/ci-astra-dev-databaseadmin.yml b/.github/workflows/ci-astra-dev-databaseadmin.yml
deleted file mode 100644
index 76ed6ad6..00000000
--- a/.github/workflows/ci-astra-dev-databaseadmin.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-name: AstraDev | Database Admin
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
- AWS_US_WEST2_CORE:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDatabaseAdminITTest
-
- GCP_EUROPE_WEST4:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDatabaseAdminITTest
-
- GCP_US_CENTRAL1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
-
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: us-central1
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDatabaseAdminITTest
diff --git a/.github/workflows/ci-astra-dev-devops.yml b/.github/workflows/ci-astra-dev-devops.yml
deleted file mode 100644
index afc11b65..00000000
--- a/.github/workflows/ci-astra-dev-devops.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-name: AstraDev | Devops API
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
- AWS_US_WEST2_CORE:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDevopsITTest
-
- GCP_EUROPE_WEST4:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDevopsITTest
-
- GCP_US_CENTRAL1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
-
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: us-central1
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDevopsITTest
diff --git a/.github/workflows/ci-astra-dev-new.yml b/.github/workflows/ci-astra-dev-new.yml
deleted file mode 100644
index b0492994..00000000
--- a/.github/workflows/ci-astra-dev-new.yml
+++ /dev/null
@@ -1,116 +0,0 @@
-# This file will be deleted once its contents are moved into ci-astra-dev.yml or its equivalent
-name: AstraDev NEW
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
- inputs:
- java_distribution:
- description: 'JDK distribution to use'
- required: true
- default: 'adopt'
- type: choice
- options: ['adopt', 'temurin']
- java_version:
- description: 'JDK version to use'
- required: true
- default: '17.0'
- cache_pkg_mgr_name:
- description: 'Cache package manager to be used'
- required: true
- default: 'maven'
- skip_tests_on_build:
- description: 'Skip tests during Maven build'
- required: false
- default: 'true'
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Checkout & Build
- uses: ./.github/actions/checkout-and-build
-
- run_dev_tests:
- needs: BUILD
- runs-on: ubuntu-latest
- strategy:
- matrix:
- include:
- - cloud_provider: AWS
- cloud_region: us-west-2
- - cloud_provider: GCP
- cloud_region: europe-west4
-# - cloud_provider: GCP
-# cloud_region: us-central1
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ inputs.java_distribution }}
- java-version: ${{ inputs.java_version }}
- cache: ${{ inputs.cache_pkg_mgr_name }}
-
- - name: Run Maven Tests
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION_DEV: ${{ matrix.cloud_region }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.*Test
-
- run_vectorize_tests:
- needs: BUILD
- runs-on: ubuntu-latest
- strategy:
- matrix:
- include:
- - cloud_provider: AWS
- cloud_region: us-west-2
- - cloud_provider: GCP
- cloud_region: europe-west4
- - embedding_provider: openai
- key_name: OPENAI_API_KEY
- - embedding_provider: azureOpenAI
- key_name: AZURE_OPENAI_API_KEY
- - embedding_provider: huggingface
- key_name: HF_API_KEY
- - embedding_provider: mistral
- key_name: MISTRAL_API_KEY
- - embedding_provider: voyageAI
- key_name: VOYAGE_API_KEY
- - embedding_provider: upstageAI
- key_name: UPSTAGE_API_KEY
- - embedding_provider: jinaAI
- key_name: JINA_API_KEY
- - embedding_provider: nvidia
- key_name: 'nvidia' # Not used
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ inputs.java_distribution }}
- java-version: ${{ inputs.java_version }}
- cache: ${{ inputs.cache_pkg_mgr_name }}
-
- - name: Run Maven Tests
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION_DEV: ${{ matrix.cloud_region }}
- EMBEDDING_PROVIDER: ${{ matrix.embedding_provider }}
- EMBEDDING_API_KEY: ${{ secrets[matrix.key_name] }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
diff --git a/.github/workflows/ci-astra-dev-vectorize-aws-bedrock.yml b/.github/workflows/ci-astra-dev-vectorize-aws-bedrock.yml
deleted file mode 100644
index 1be3a97f..00000000
--- a/.github/workflows/ci-astra-dev-vectorize-aws-bedrock.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-name: AstraDev | Vectorize Bedrock
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
-
- BEDROCK_AWS_us-west-2:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: bedrock
- BEDROCK_HEADER_AWS_ACCESS_ID: ${{ secrets.BEDROCK_HEADER_AWS_ACCESS_ID }}
- BEDROCK_HEADER_AWS_SECRET_ID: ${{ secrets.BEDROCK_HEADER_AWS_SECRET_ID }}
- BEDROCK_REGION: ${{ vars.BEDROCK_REGION }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeAwsBedRockITTest
- BEDROCK_GCP_europe-west4:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: bedrock
- BEDROCK_HEADER_AWS_ACCESS_ID: ${{ secrets.BEDROCK_HEADER_AWS_ACCESS_ID }}
- BEDROCK_HEADER_AWS_SECRET_ID: ${{ secrets.BEDROCK_HEADER_AWS_SECRET_ID }}
- BEDROCK_REGION: ${{ vars.BEDROCK_REGION }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeAwsBedRockITTest
-
- BEDROCK_GCP_us-central1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: us-central1
- EMBEDDING_PROVIDER: bedrock
- BEDROCK_HEADER_AWS_ACCESS_ID: ${{ secrets.BEDROCK_HEADER_AWS_ACCESS_ID }}
- BEDROCK_HEADER_AWS_SECRET_ID: ${{ secrets.BEDROCK_HEADER_AWS_SECRET_ID }}
- BEDROCK_REGION: ${{ vars.BEDROCK_REGION }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeAwsBedRockITTest
diff --git a/.github/workflows/ci-astra-dev-vectorize-hf-dedicated.yml b/.github/workflows/ci-astra-dev-vectorize-hf-dedicated.yml
deleted file mode 100644
index d36e5a10..00000000
--- a/.github/workflows/ci-astra-dev-vectorize-hf-dedicated.yml
+++ /dev/null
@@ -1,105 +0,0 @@
-name: AstraDev | Vectorize HF Dedicated
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
-
- HD_DEDICATED_AWS_us-west-2:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: huggingfaceDedicated
- EMBEDDING_API_KEY: ${{ secrets.HUGGINGFACEDED_API_KEY }}
- HUGGINGFACEDED_DIMENSION: ${{ vars.HUGGINGFACEDED_DIMENSION }}
- HUGGINGFACEDED_ENDPOINTNAME: ${{ vars.HUGGINGFACEDED_ENDPOINTNAME }}
- HUGGINGFACEDED_REGIONNAME: ${{ vars.HUGGINGFACEDED_REGIONNAME }}
- HUGGINGFACEDED_CLOUDNAME: ${{ vars.HUGGINGFACEDED_CLOUDNAME }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeHuggingFaceDedicatedITTest
-
- HD_DEDICATED_GCP_europe-west4:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: huggingfaceDedicated
- EMBEDDING_API_KEY: ${{ secrets.HUGGINGFACEDED_API_KEY }}
- HUGGINGFACEDED_DIMENSION: ${{ vars.HUGGINGFACEDED_DIMENSION }}
- HUGGINGFACEDED_ENDPOINTNAME: ${{ vars.HUGGINGFACEDED_ENDPOINTNAME }}
- HUGGINGFACEDED_REGIONNAME: ${{ vars.HUGGINGFACEDED_REGIONNAME }}
- HUGGINGFACEDED_CLOUDNAME: ${{ vars.HUGGINGFACEDED_CLOUDNAME }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeHuggingFaceDedicatedITTest
-
- HD_DEDICATED_GCP_us-central1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: us-central1
- EMBEDDING_PROVIDER: huggingfaceDedicated
- EMBEDDING_API_KEY: ${{ secrets.HUGGINGFACEDED_API_KEY }}
- HUGGINGFACEDED_DIMENSION: ${{ vars.HUGGINGFACEDED_DIMENSION }}
- HUGGINGFACEDED_ENDPOINTNAME: ${{ vars.HUGGINGFACEDED_ENDPOINTNAME }}
- HUGGINGFACEDED_REGIONNAME: ${{ vars.HUGGINGFACEDED_REGIONNAME }}
- HUGGINGFACEDED_CLOUDNAME: ${{ vars.HUGGINGFACEDED_CLOUDNAME }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeHuggingFaceDedicatedITTest
diff --git a/.github/workflows/ci-astra-dev.yml b/.github/workflows/ci-astra-dev.yml
deleted file mode 100644
index 0f3f5f04..00000000
--- a/.github/workflows/ci-astra-dev.yml
+++ /dev/null
@@ -1,456 +0,0 @@
-name: AstraDev
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
-
- AWS_US_WEST2_CORE:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.*Test
-
- GCP_EUROPE_WEST4:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Run test for DEV
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.*Test
-
-# GCP_US_CENTRAL1:
-# needs: BUILD
-# runs-on: ubuntu-latest
-# steps:
-# - name: Checkout repository
-# uses: actions/checkout@v6
-# - name: Set up JDK
-# uses: actions/setup-java@v5
-# with:
-# distribution: 'adopt'
-# java-version: 11
-# cache: 'maven'
-#
-# - name: Run test for DEV
-# env:
-# ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
-# ASTRA_CLOUD_PROVIDER_DEV: GCP
-# ASTRA_CLOUD_REGION_DEV: us-central1
-# run: |
-# cd astra-db-java
-# mvn test -Dtest=com.datastax.astra.test.integration.dev.*Test
-
- AWS_OPEN_AI:
- needs: AWS_US_WEST2_CORE
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: openai
- EMBEDDING_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- AWS_AZURE_OPEN_AI:
- needs: AWS_US_WEST2_CORE
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: azureOpenAI
- EMBEDDING_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- AWS_HUGGING_FACE:
- needs: AWS_AZURE_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: huggingface
- EMBEDDING_API_KEY: ${{ secrets.HF_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
-
-
- AWS_MISTRAL_AI:
- needs: AWS_AZURE_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: mistral
- EMBEDDING_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- AWS_VOYAGE_AI:
- needs: AWS_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: voyageAI
- EMBEDDING_API_KEY: ${{ secrets.VOYAGE_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- AWS_UPSTAGE_AI:
- needs: AWS_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: upstageAI
- EMBEDDING_API_KEY: ${{ secrets.UPSTAGE_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
-
-
- AWS_JINA_AI:
- needs: AWS_UPSTAGE_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: jinaAI
- EMBEDDING_API_KEY: ${{ secrets.JINA_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
-
-
- AWS_NVIDIA:
- needs: AWS_VOYAGE_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: nvidia
- EMBEDDING_API_KEY: nvidia # required for github actions, not used
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
-
-
-
-
-
- GCP_OPEN_AI:
- needs: GCP_EUROPE_WEST4
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: openai
- EMBEDDING_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- GCP_AZURE_OPEN_AI:
- needs: GCP_EUROPE_WEST4
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: AWS
- ASTRA_CLOUD_REGION_DEV: us-west-2
- EMBEDDING_PROVIDER: azureOpenAI
- EMBEDDING_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- GCP_HUGGING_FACE:
- needs: GCP_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: huggingface
- EMBEDDING_API_KEY: ${{ secrets.HF_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
-
- GCP_MISTRAL_AI:
- needs: GCP_AZURE_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: mistral
- EMBEDDING_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- GCP_VOYAGE_AI:
- needs: GCP_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: voyageAI
- EMBEDDING_API_KEY: ${{ secrets.VOYAGE_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- GCP_UPSTAGE_AI:
- needs: GCP_OPEN_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: upstageAI
- EMBEDDING_API_KEY: ${{ secrets.UPSTAGE_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
-
-
-
- GCP_JINA_AI:
- needs: GCP_UPSTAGE_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: jinaAI
- EMBEDDING_API_KEY: ${{ secrets.JINA_API_KEY }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
- GCP_NVIDIA:
- needs: GCP_VOYAGE_AI
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: GCP
- ASTRA_CLOUD_REGION_DEV: europe-west4
- EMBEDDING_PROVIDER: nvidia
- EMBEDDING_API_KEY: nvidia # required for github actions, not used
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeEmbeddingApiKeyITTest
diff --git a/.github/workflows/ci-astra-devops.yaml b/.github/workflows/ci-astra-devops.yaml
deleted file mode 100644
index d74cbbff..00000000
--- a/.github/workflows/ci-astra-devops.yaml
+++ /dev/null
@@ -1,92 +0,0 @@
-name: Astra | DevOps API
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
- inputs:
- java_distribution:
- description: 'JDK distribution to use'
- required: true
- default: 'adopt'
- options: ['adopt', 'temurin']
- java_version:
- description: 'JDK version to use'
- required: true
- default: '11.0'
- cache_pkg_mgr_name:
- description: 'Cache package manager to be used'
- required: true
- default: 'maven'
- skip_tests_on_build:
- description: 'Skip tests during Maven build'
- required: false
- default: 'true'
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Checkout & Build
- uses: ./.github/actions/checkout-and-build
- run_dev_tests:
- needs: BUILD
- runs-on: ubuntu-latest
- strategy:
- matrix:
- # We had to do it this way because same regions aren't testing in various Astra envs.
- include:
- - cloud_provider: 'AWS'
- cloud_region: 'us-west-2'
- astra_environment: 'DEV'
- - cloud_provider: 'AWS'
- cloud_region: 'eu-west-1'
- astra_environment: 'DEV'
- - cloud_provider: 'AWS'
- cloud_region: 'eu-west-1'
- astra_environment: 'PROD'
- - cloud_provider: 'GCP'
- cloud_region: 'europe-west4'
- astra_environment: 'DEV'
- - cloud_provider: 'GCP'
- cloud_region: 'us-east1'
- astra_environment: 'PROD'
- - cloud_provider: 'GCP'
- cloud_region: 'us-central1'
- astra_environment: 'DEV'
- - cloud_provider: 'AZURE'
- cloud_region: 'westus3'
- astra_environment: 'PROD'
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ inputs.java_distribution }}
- java-version: ${{ inputs.java_version }}
- cache: ${{ inputs.cache_pkg_mgr_name }}
-
- - name: Run Maven Tests in ${{ inputs.astra_environment }} environment
- if: ${{ matrix.astra_environment == 'PROD' }}
- env:
- ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
- ASTRA_CLOUD_PROVIDER: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION: ${{ matrix.cloud_region }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.prod.AstraProdDevopsITTest
-
- - name: Run Maven Tests in ${{ matrix.astra_environment }} environment
- if: ${{ matrix.astra_environment == 'DEV' }}
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION_DEV: ${{ matrix.cloud_region }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev.AstraDevDevopsITTest
\ No newline at end of file
diff --git a/.github/workflows/ci-astra-prod-devops.yml b/.github/workflows/ci-astra-prod-devops.yml
deleted file mode 100644
index 4b357d6f..00000000
--- a/.github/workflows/ci-astra-prod-devops.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: AstraProd | Devops API
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- - name: Set up JDK 11
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Build with Maven
- run: |
- mvn install -Dmaven.test.skip=true
- AWS_EU_WEST_1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
- ASTRA_CLOUD_PROVIDER: AWS
- ASTRA_CLOUD_REGION: eu-west-1
- run: |
- cd astra-db-java
- GCP_US_EAST1:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
- ASTRA_CLOUD_PROVIDER: GCP
- ASTRA_CLOUD_REGION: us-east1
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.prod.AstraProdDevopsITTest
- AZURE_WESTUS3:
- needs: BUILD
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: 'adopt'
- java-version: 11
- cache: 'maven'
- - name: Maven Test
- env:
- ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
- ASTRA_CLOUD_PROVIDER: AZURE
- ASTRA_CLOUD_REGION: westus3
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.prod.AstraProdDevopsITTest
\ No newline at end of file
diff --git a/.github/workflows/ci-astra-vectorize-bedrock-hf.yaml b/.github/workflows/ci-astra-vectorize-bedrock-hf.yaml
deleted file mode 100644
index 44cd7c00..00000000
--- a/.github/workflows/ci-astra-vectorize-bedrock-hf.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-name: Astra Vectorize | Bedrock/HF Dedicated
-
-on:
- #push:
- # branches: [ main ]
- #pull_request:
- # branches: [ main ]
- workflow_dispatch:
- inputs:
- embedding_provider_to_test:
- description: 'Embedding provider for tests to run'
- required: true
- default: 'bedrock'
- type: choice
- options:
- - 'bedrock'
- - 'huggingfaceDedicated'
- java_distribution:
- description: 'JDK distribution to use'
- required: true
- default: 'adopt'
- type: choice
- options: ['adopt', 'temurin']
- java_version:
- description: 'JDK version to use'
- required: true
- default: '17.0'
- cache_pkg_mgr_name:
- description: 'Cache package manager to be used'
- required: true
- default: 'maven'
- skip_tests_on_build:
- description: 'Skip tests during Maven build'
- required: false
- default: 'true'
-
-jobs:
- BUILD:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Checkout & Build
- uses: ./.github/actions/checkout-and-build
-
- run_vectorize_tests:
- needs: BUILD
- runs-on: ubuntu-latest
- strategy:
- matrix:
- # We had to do it this way because same regions aren't testing in various Astra envs.
- include:
- - cloud_provider: 'AWS'
- cloud_region: 'us-west-2'
- astra_environment: 'DEV'
- - cloud_provider: 'GCP'
- cloud_region: 'europe-west4'
- astra_environment: 'DEV'
- - cloud_provider: 'GCP'
- cloud_region: 'us-central1'
- astra_environment: 'DEV'
- steps:
- - name: Checkout repository
- uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ inputs.java_distribution }}
- java-version: ${{ inputs.java_version }}
- cache: ${{ inputs.cache_pkg_mgr_name }}
-
- - name: Maven Test for ${{ inputs.embedding_provider_to_test }} on ${{ matrix.cloud_provider }} - ${{ matrix.cloud_region }} [Astra DEV]"
- if: ${{ matrix.astra_environment == 'DEV' && inputs.embedding_provider_to_test == 'bedrock' }}
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION_DEV: ${{ matrix.cloud_region }}
- EMBEDDING_PROVIDER: bedrock
- BEDROCK_HEADER_AWS_ACCESS_ID: ${{ secrets.BEDROCK_HEADER_AWS_ACCESS_ID }}
- BEDROCK_HEADER_AWS_SECRET_ID: ${{ secrets.BEDROCK_HEADER_AWS_SECRET_ID }}
- BEDROCK_REGION: ${{ vars.BEDROCK_REGION }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeAwsBedRockITTest
-
- - name: Maven Test for ${{ inputs.embedding_provider_to_test }} on ${{ matrix.cloud_provider }} - ${{ matrix.cloud_region }} [Astra DEV]"
- if: ${{ matrix.astra_environment == 'DEV' && inputs.embedding_provider_to_test == 'huggingfaceDedicated' }}
- env:
- ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
- ASTRA_CLOUD_PROVIDER_DEV: ${{ matrix.cloud_provider }}
- ASTRA_CLOUD_REGION_DEV: ${{ matrix.cloud_region }}
- EMBEDDING_PROVIDER: huggingfaceDedicated
- EMBEDDING_API_KEY: ${{ secrets.HUGGINGFACEDED_API_KEY }}
- HUGGINGFACEDED_DIMENSION: ${{ vars.HUGGINGFACEDED_DIMENSION }}
- HUGGINGFACEDED_ENDPOINTNAME: ${{ vars.HUGGINGFACEDED_ENDPOINTNAME }}
- HUGGINGFACEDED_REGIONNAME: ${{ vars.HUGGINGFACEDED_REGIONNAME }}
- HUGGINGFACEDED_CLOUDNAME: ${{ vars.HUGGINGFACEDED_CLOUDNAME }}
- run: |
- cd astra-db-java
- mvn test -Dtest=com.datastax.astra.test.integration.dev_vectorize.AstraDevVectorizeHuggingFaceDedicatedITTest
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 00000000..ed55e632
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,56 @@
+name: Tests
+
+on:
+ merge_group:
+ pull_request:
+
+# To run this locally, the following should be used:
+# > alias act='act --container-architecture linux/amd64 -P ubuntu-latest=quay.io/jamezp/act-maven'
+
+jobs:
+ run-unit-tests:
+ name: Run unit tests
+ uses: ./.github/workflows/_unit-tests.yml
+ with:
+ java_versions: ${{ github.event_name == 'merge_group' && '"17","21","25"' || '"17"' }}
+
+ run-docs-compilation-tests:
+ name: Run docs compilation tests
+ needs: [run-unit-tests]
+ if: github.event_name == 'merge_group'
+ uses: ./.github/workflows/_docs-compile-tests.yml
+ secrets: inherit
+
+ run-hcd-integration-tests:
+ name: Run HCD integration tests
+ needs: [run-unit-tests]
+ if: github.event_name == 'merge_group'
+ uses: ./.github/workflows/_hcd-integration-tests.yml
+ secrets: inherit
+
+ run-astra-integration-tests:
+ name: Run Astra integration tests
+ needs: [run-unit-tests]
+ if: github.event_name == 'merge_group'
+ uses: ./.github/workflows/_hcd-integration-tests.yml
+ secrets: inherit
+
+ can-enqueue:
+ name: Can enqueue
+ needs: [run-unit-tests]
+ if: always() && github.event_name != 'merge_group'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check outcomes
+ run: |
+ echo '${{ toJSON(needs) }}' | jq -e 'to_entries | map(.value.result == "success" or .value.result == "skipped") | all'
+
+ can-merge:
+ name: Can merge
+ needs: [run-unit-tests, run-docs-compilation-tests, run-hcd-integration-tests, run-astra-integration-tests]
+ if: always() && github.event_name == 'merge_group'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check outcomes
+ run: |
+ echo '${{ toJSON(needs) }}' | jq -e 'to_entries | map(.value.result == "success" or .value.result == "skipped") | all'
diff --git a/.gitignore b/.gitignore
index f6250b89..c4f6c06c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,4 +32,5 @@ test-config-astra.properties
test-config-embedding-providers.properties
release.properties
-pom.xml.releaseBackup
\ No newline at end of file
+pom.xml.releaseBackup
+.bob
diff --git a/astra-db-java-samples/pom.xml b/astra-db-java-samples/pom.xml
index 8372e465..817e9bac 100644
--- a/astra-db-java-samples/pom.xml
+++ b/astra-db-java-samples/pom.xml
@@ -7,7 +7,7 @@
com.datastax.astra
astra-db-java-parent
- 2.1.8-SNAPSHOT
+ 2.2.1-SNAPSHOT
diff --git a/astra-db-java/pom.xml b/astra-db-java/pom.xml
index 0a9eb62d..8896c55e 100644
--- a/astra-db-java/pom.xml
+++ b/astra-db-java/pom.xml
@@ -152,6 +152,9 @@
${test.environment}
${astra.cloud.provider}
${astra.cloud.region}
+ ${test.vectorize}
+ ${test.reranking}
+ ${test.keyspace}
diff --git a/astra-db-java/src/test/resources/docker-compose-hcd.yml b/astra-db-java/src/test/resources/docker-compose-hcd.yml
new file mode 100644
index 00000000..48b38a3c
--- /dev/null
+++ b/astra-db-java/src/test/resources/docker-compose-hcd.yml
@@ -0,0 +1,56 @@
+version: '2'
+
+services:
+ hcd:
+ image: 559669398656.dkr.ecr.us-west-2.amazonaws.com/engops-shared/hcd/prod/hcd:1.2.3
+ networks:
+ - stargate
+ mem_limit: 2G
+ environment:
+ - MAX_HEAP_SIZE=1536M
+ - CLUSTER_NAME=hcd-1.2.3-cluster
+ - DS_LICENSE=accept
+ - HCD_AUTO_CONF_OFF=xcassandra.yaml
+ - JVM_EXTRA_OPTS=-Dcassandra.sai.latest.version=ec
+ volumes:
+ - ./cassandra-hcd.yaml:/opt/hcd/resources/cassandra/conf/xcassandra.yaml:rw
+ ports:
+ - "9042:9042"
+ healthcheck:
+ test: [ "CMD-SHELL", "cqlsh -u cassandra -p cassandra -e 'describe keyspaces'" ]
+ interval: 15s
+ timeout: 10s
+ retries: 20
+
+ data-api:
+ image: stargateio/data-api:v1
+ depends_on:
+ hcd:
+ condition: service_healthy
+ networks:
+ - stargate
+ ports:
+ - "8181:8181"
+ mem_limit: 2G
+ environment:
+ - JAVA_MAX_MEM_RATIO=75
+ - JAVA_INITIAL_MEM_RATIO=50
+ - STARGATE_DATA_STORE_IGNORE_BRIDGE=true
+ - GC_CONTAINER_OPTIONS=-XX:+UseG1GC
+ - STARGATE_JSONAPI_OPERATIONS_DATABASE_CONFIG_CASSANDRA_END_POINTS=hcd
+ - STARGATE_JSONAPI_OPERATIONS_DATABASE_CONFIG_LOCAL_DATACENTER=dc1
+ - STARGATE_DATABASE_LIMITS_MAX_COLLECTIONS=50
+ - QUARKUS_HTTP_ACCESS_LOG_ENABLED=FALSE
+ - QUARKUS_LOG_LEVEL=INFO
+ - STARGATE_JSONAPI_OPERATIONS_VECTORIZE_ENABLED=true
+ - STARGATE_FEATURE_FLAGS_TABLES=true
+ - STARGATE_FEATURE_FLAGS_RERANKING=true
+ - JAVA_OPTS_APPEND=-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager
+ healthcheck:
+ test: curl -f http://localhost:8181/stargate/health || exit 1
+ interval: 5s
+ timeout: 10s
+ retries: 10
+
+networks:
+ stargate:
diff --git a/pom.xml b/pom.xml
index 4ef2e3e0..b279f057 100644
--- a/pom.xml
+++ b/pom.xml
@@ -241,6 +241,13 @@
${maven.plugin.compiler.source}
${maven.plugin.compiler.target}
false
+
+
+ org.projectlombok
+ lombok
+ 1.18.44
+
+