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 + +