Skip to content

Commit 47ddaa1

Browse files
authored
Merge pull request #20 from datastax/ms/gha_improvements
Copying GHA improvements from 1.x branch to main
2 parents 44ddffb + 0af8f69 commit 47ddaa1

13 files changed

+569
-96
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: 'Checkout & Build with Java'
2+
description: 'Checkout code, set up JDK, and build with Maven'
3+
inputs:
4+
java_distribution:
5+
description: 'JDK distribution to use'
6+
required: true
7+
default: 'adopt'
8+
java_version:
9+
description: 'JDK version to use'
10+
required: true
11+
default: '11.0'
12+
cache_pkg_mgr_name:
13+
description: 'Cache package manager to be used'
14+
required: true
15+
default: 'maven'
16+
skip_tests_on_build:
17+
description: 'Skip tests during Maven build'
18+
required: false
19+
default: 'true'
20+
runs:
21+
using: 'composite'
22+
steps:
23+
- name: Checkout Code
24+
uses: actions/checkout@v4
25+
26+
- name: Set up JDK ${{ inputs.java_version }}
27+
uses: actions/setup-java@v4
28+
with:
29+
distribution: ${{ inputs.java_distribution }}
30+
java-version: ${{ inputs.java_version }}
31+
cache: ${{ inputs.cache_pkg_mgr_name}}
32+
33+
- name: Build with Maven
34+
run: |
35+
mvn install -Dmaven.test.skip=${{ inputs.skip_tests_on_build }}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: Astra | Collection/DB/DBAdmin Integration Tests
2+
3+
on:
4+
#push:
5+
# branches: [ main ]
6+
#pull_request:
7+
# branches: [ main ]
8+
workflow_dispatch:
9+
inputs:
10+
java_distribution:
11+
description: 'JDK distribution to use'
12+
required: true
13+
default: 'adopt'
14+
options: ['adopt', 'temurin']
15+
java_version:
16+
description: 'JDK version to use'
17+
required: true
18+
default: '11.0'
19+
cache_pkg_mgr_name:
20+
description: 'Cache package manager to be used'
21+
required: true
22+
default: 'maven'
23+
skip_tests_on_build:
24+
description: 'Skip tests during Maven build'
25+
required: false
26+
default: 'true'
27+
test_to_run:
28+
description: 'Test to run'
29+
required: true
30+
default: 'AstraDevCollectionITTest'
31+
options:
32+
- 'AstraDevCollectionITTest'
33+
- 'AstraDevDatabaseITTest'
34+
- 'AstraDevDatabaseAdminITTest'
35+
- 'AstraProdCollectionITTest'
36+
- 'AstraProdDatabaseITTest'
37+
- 'AstraProdDatabaseAdminITTest'
38+
39+
jobs:
40+
BUILD:
41+
runs-on: ubuntu-latest
42+
steps:
43+
- name: Checkout & Build
44+
uses: ./.github/actions/checkout-and-build
45+
46+
run_dev_tests:
47+
needs: BUILD
48+
runs-on: ubuntu-latest
49+
strategy:
50+
matrix:
51+
# We had to do it this way because same regions aren't testing in various Astra envs.
52+
include:
53+
- cloud_provider: 'AWS'
54+
cloud_region: 'us-west-2'
55+
astra_environment: 'DEV'
56+
- cloud_provider: 'GCP'
57+
cloud_region: 'europe-west4'
58+
astra_environment: 'DEV'
59+
- cloud_provider: 'GCP'
60+
cloud_region: 'us-central1'
61+
astra_environment: 'DEV'
62+
steps:
63+
- name: Checkout repository
64+
uses: actions/checkout@v4
65+
- name: Set up JDK
66+
uses: actions/setup-java@v4
67+
with:
68+
distribution: ${{ inputs.java_distribution }}
69+
java-version: ${{ inputs.java_version }}
70+
cache: ${{ inputs.cache_pkg_mgr_name }}
71+
72+
- name: "Maven Test on ${{ matrix.cloud_provider }} - ${{ matrix.cloud_region }} [Astra DEV]"
73+
if: ${{ matrix.astra_environment == 'DEV' }}
74+
env:
75+
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
76+
ASTRA_CLOUD_PROVIDER_DEV: ${{ matrix.cloud_provider }}
77+
ASTRA_CLOUD_REGION_DEV: ${{ matrix.cloud_region }}
78+
run: |
79+
cd astra-db-java
80+
mvn test -Dtest=com.datastax.astra.test.integration.dev.${{ inputs.test_to_run }}
81+
82+
- name: "Maven Test on ${{ matrix.cloud_provider }} - ${{ matrix.cloud_region }} [Astra PROD]"
83+
if: ${{ matrix.astra_environment == 'PROD' }}
84+
env:
85+
ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
86+
ASTRA_CLOUD_PROVIDER: ${{ matrix.cloud_provider }}
87+
ASTRA_CLOUD_REGION: ${{ matrix.cloud_region }}
88+
run: |
89+
cd astra-db-java
90+
mvn test -Dtest=com.datastax.astra.test.integration.prod.${{ inputs.test_to_run }}

.github/workflows/ci-astra-dev-collection.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout Code
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v4
1616
- name: Set up JDK 11
17-
uses: actions/setup-java@v2
17+
uses: actions/setup-java@v4
1818
with:
1919
distribution: 'adopt'
2020
java-version: 11
21+
cache: 'maven'
2122
- name: Build with Maven
2223
run: |
2324
mvn install -Dmaven.test.skip=true
@@ -26,12 +27,13 @@ jobs:
2627
runs-on: ubuntu-latest
2728
steps:
2829
- name: Checkout repository
29-
uses: actions/checkout@v2
30+
uses: actions/checkout@v4
3031
- name: Set up JDK
31-
uses: actions/setup-java@v2
32+
uses: actions/setup-java@v4
3233
with:
3334
distribution: 'adopt'
3435
java-version: 11
36+
cache: 'maven'
3537
- name: Maven Test
3638
env:
3739
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -46,12 +48,13 @@ jobs:
4648
runs-on: ubuntu-latest
4749
steps:
4850
- name: Checkout repository
49-
uses: actions/checkout@v2
51+
uses: actions/checkout@v4
5052
- name: Set up JDK
51-
uses: actions/setup-java@v2
53+
uses: actions/setup-java@v4
5254
with:
5355
distribution: 'adopt'
5456
java-version: 11
57+
cache: 'maven'
5558
- name: Run test for DEV
5659
env:
5760
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -66,12 +69,13 @@ jobs:
6669
runs-on: ubuntu-latest
6770
steps:
6871
- name: Checkout repository
69-
uses: actions/checkout@v2
72+
uses: actions/checkout@v4
7073
- name: Set up JDK
71-
uses: actions/setup-java@v2
74+
uses: actions/setup-java@v4
7275
with:
7376
distribution: 'adopt'
7477
java-version: 11
78+
cache: 'maven'
7579

7680
- name: Run test for DEV
7781
env:

.github/workflows/ci-astra-dev-database.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout Code
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v4
1616
- name: Set up JDK 11
17-
uses: actions/setup-java@v2
17+
uses: actions/setup-java@v4
1818
with:
1919
distribution: 'adopt'
2020
java-version: 11
21+
cache: 'maven'
2122
- name: Build with Maven
2223
run: |
2324
mvn install -Dmaven.test.skip=true
@@ -26,12 +27,13 @@ jobs:
2627
runs-on: ubuntu-latest
2728
steps:
2829
- name: Checkout repository
29-
uses: actions/checkout@v2
30+
uses: actions/checkout@v4
3031
- name: Set up JDK
31-
uses: actions/setup-java@v2
32+
uses: actions/setup-java@v4
3233
with:
3334
distribution: 'adopt'
3435
java-version: 11
36+
cache: 'maven'
3537
- name: Maven Test
3638
env:
3739
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -46,12 +48,13 @@ jobs:
4648
runs-on: ubuntu-latest
4749
steps:
4850
- name: Checkout repository
49-
uses: actions/checkout@v2
51+
uses: actions/checkout@v4
5052
- name: Set up JDK
51-
uses: actions/setup-java@v2
53+
uses: actions/setup-java@v4
5254
with:
5355
distribution: 'adopt'
5456
java-version: 11
57+
cache: 'maven'
5558
- name: Run test for DEV
5659
env:
5760
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -66,12 +69,13 @@ jobs:
6669
runs-on: ubuntu-latest
6770
steps:
6871
- name: Checkout repository
69-
uses: actions/checkout@v2
72+
uses: actions/checkout@v4
7073
- name: Set up JDK
71-
uses: actions/setup-java@v2
74+
uses: actions/setup-java@v4
7275
with:
7376
distribution: 'adopt'
7477
java-version: 11
78+
cache: 'maven'
7579

7680
- name: Run test for DEV
7781
env:

.github/workflows/ci-astra-dev-databaseadmin.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout Code
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v4
1616
- name: Set up JDK 11
17-
uses: actions/setup-java@v2
17+
uses: actions/setup-java@v4
1818
with:
1919
distribution: 'adopt'
2020
java-version: 11
21+
cache: 'maven'
2122
- name: Build with Maven
2223
run: |
2324
mvn install -Dmaven.test.skip=true
@@ -26,12 +27,13 @@ jobs:
2627
runs-on: ubuntu-latest
2728
steps:
2829
- name: Checkout repository
29-
uses: actions/checkout@v2
30+
uses: actions/checkout@v4
3031
- name: Set up JDK
31-
uses: actions/setup-java@v2
32+
uses: actions/setup-java@v4
3233
with:
3334
distribution: 'adopt'
3435
java-version: 11
36+
cache: 'maven'
3537
- name: Maven Test
3638
env:
3739
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -46,12 +48,13 @@ jobs:
4648
runs-on: ubuntu-latest
4749
steps:
4850
- name: Checkout repository
49-
uses: actions/checkout@v2
51+
uses: actions/checkout@v4
5052
- name: Set up JDK
51-
uses: actions/setup-java@v2
53+
uses: actions/setup-java@v4
5254
with:
5355
distribution: 'adopt'
5456
java-version: 11
57+
cache: 'maven'
5558
- name: Run test for DEV
5659
env:
5760
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -66,12 +69,13 @@ jobs:
6669
runs-on: ubuntu-latest
6770
steps:
6871
- name: Checkout repository
69-
uses: actions/checkout@v2
72+
uses: actions/checkout@v4
7073
- name: Set up JDK
71-
uses: actions/setup-java@v2
74+
uses: actions/setup-java@v4
7275
with:
7376
distribution: 'adopt'
7477
java-version: 11
78+
cache: 'maven'
7579

7680
- name: Run test for DEV
7781
env:

.github/workflows/ci-astra-dev-devops.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout Code
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v4
1616
- name: Set up JDK 11
17-
uses: actions/setup-java@v2
17+
uses: actions/setup-java@v4
1818
with:
1919
distribution: 'adopt'
2020
java-version: 11
21+
cache: 'maven'
2122
- name: Build with Maven
2223
run: |
2324
mvn install -Dmaven.test.skip=true
@@ -26,12 +27,13 @@ jobs:
2627
runs-on: ubuntu-latest
2728
steps:
2829
- name: Checkout repository
29-
uses: actions/checkout@v2
30+
uses: actions/checkout@v4
3031
- name: Set up JDK
31-
uses: actions/setup-java@v2
32+
uses: actions/setup-java@v4
3233
with:
3334
distribution: 'adopt'
3435
java-version: 11
36+
cache: 'maven'
3537
- name: Maven Test
3638
env:
3739
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -46,12 +48,13 @@ jobs:
4648
runs-on: ubuntu-latest
4749
steps:
4850
- name: Checkout repository
49-
uses: actions/checkout@v2
51+
uses: actions/checkout@v4
5052
- name: Set up JDK
51-
uses: actions/setup-java@v2
53+
uses: actions/setup-java@v4
5254
with:
5355
distribution: 'adopt'
5456
java-version: 11
57+
cache: 'maven'
5558
- name: Run test for DEV
5659
env:
5760
ASTRA_DB_APPLICATION_TOKEN_DEV: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN_DEV }}
@@ -66,12 +69,13 @@ jobs:
6669
runs-on: ubuntu-latest
6770
steps:
6871
- name: Checkout repository
69-
uses: actions/checkout@v2
72+
uses: actions/checkout@v4
7073
- name: Set up JDK
71-
uses: actions/setup-java@v2
74+
uses: actions/setup-java@v4
7275
with:
7376
distribution: 'adopt'
7477
java-version: 11
78+
cache: 'maven'
7579

7680
- name: Run test for DEV
7781
env:

0 commit comments

Comments
 (0)