@@ -2,135 +2,40 @@ name: Integration Tests Workflow
22
33on :
44 push :
5- branches : [ main, benchmarking-branch ]
5+ branches : [main, benchmarking-branch]
66 pull_request :
77 types : [opened, synchronize, reopened]
8- branches : [ main, benchmarking-branch ]
8+ branches : [main, benchmarking-branch]
99 workflow_dispatch :
1010
1111jobs :
1212 build-and-test :
1313 name : Build and Run Integration Tests
1414 runs-on : ubuntu-latest
1515 environment : azure-prod
16+ strategy :
17+ matrix :
18+ include :
19+ - test-command : mvn -B compile test -Dtest=*IntegrationTests
20+ token-secret : DATABRICKS_TOKEN
21+ use-thrift-client : ' false'
22+ - test-command : mvn -B compile test -Dtest=**/fakeservice/tests/MultiChunkExecutionIntegrationTests.java,**/fakeservice/tests/ConnectionIntegrationTests.java
23+ token-secret : THRIFT_DATABRICKS_TOKEN
24+ use-thrift-client : ' true'
1625 steps :
17- - name : Checkout code
18- uses : actions/checkout@v2
19-
20- - name : Set up JDK 21
21- uses : actions/setup-java@v2
22- with :
23- java-version : 21
24- distribution : ' adopt'
25-
26- - name : Cache Maven packages
27- uses : actions/cache@v2
28- with :
29- path : ~/.m2
30- key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
31- restore-keys : ${{ runner.os }}-m2
32-
33- - name : Set up Warehouse Connection
34- env :
35- DATABRICKS_HOST : ${{ secrets.DATABRICKS_HOST }}
36- DATABRICKS_BENCHFOOD_HOST : ${{ secrets.DATABRICKS_BENCHFOOD_HOST }}
37- DATABRICKS_BENCHMARKING_HOST : ${{ secrets.DATABRICKS_BENCHMARKING_HOST }}
38- DATABRICKS_HTTP_PATH : ${{ secrets.DATABRICKS_HTTP_PATH }}
39- DATABRICKS_BENCHFOOD_HTTP_PATH : ${{ secrets.DATABRICKS_BENCHFOOD_HTTP_PATH }}
40- DATABRICKS_BENCHMARKING_HTTP_PATH : ${{ secrets.DATABRICKS_BENCHMARKING_HTTP_PATH }}
41- DATABRICKS_TOKEN : ${{ secrets.DATABRICKS_TOKEN }}
42- DATABRICKS_BENCHFOOD_TOKEN : ${{ secrets.DATABRICKS_BENCHFOOD_TOKEN }}
43- DATABRICKS_BENCHMARKING_TOKEN : ${{ secrets.DATABRICKS_BENCHMARKING_TOKEN }}
44- DATABRICKS_USER : ${{ secrets.DATABRICKS_USER }}
45- DATABRICKS_CATALOG : ${{ secrets.DATABRICKS_CATALOG }}
46- DATABRICKS_SCHEMA : ${{ secrets.DATABRICKS_SCHEMA }}
47- DATABRICKS_DOGFOOD_HOST : ${{ secrets.DATABRICKS_DOGFOOD_HOST }}
48- DATABRICKS_DOGFOOD_TOKEN : ${{ secrets.DATABRICKS_DOGFOOD_TOKEN }}
49- DATABRICKS_DOGFOOD_HTTP_PATH : ${{ secrets.DATABRICKS_DOGFOOD_HTTP_PATH }}
50- run : |
51- echo "DATABRICKS_HOST=${DATABRICKS_HOST}" >> $GITHUB_ENV
52- echo "DATABRICKS_BENCHFOOD_HOST=${DATABRICKS_BENCHFOOD_HOST}" >> $GITHUB_ENV
53- echo "DATABRICKS_BENCHMARKING_HOST=${DATABRICKS_BENCHMARKING_HOST}" >> $GITHUB_ENV
54- echo "DATABRICKS_HTTP_PATH=${DATABRICKS_HTTP_PATH}" >> $GITHUB_ENV
55- echo "DATABRICKS_BENCHFOOD_HTTP_PATH=${DATABRICKS_BENCHFOOD_HTTP_PATH}" >> $GITHUB_ENV
56- echo "DATABRICKS_BENCHMARKING_HTTP_PATH=${DATABRICKS_BENCHMARKING_HTTP_PATH}" >> $GITHUB_ENV
57- echo "DATABRICKS_TOKEN=${DATABRICKS_TOKEN}" >> $GITHUB_ENV
58- echo "DATABRICKS_BENCHFOOD_TOKEN=${DATABRICKS_BENCHFOOD_TOKEN}" >> $GITHUB_ENV
59- echo "DATABRICKS_BENCHMARKING_TOKEN=${DATABRICKS_BENCHMARKING_TOKEN}" >> $GITHUB_ENV
60- echo "DATABRICKS_USER=${DATABRICKS_USER}" >> $GITHUB_ENV
61- echo "DATABRICKS_CATALOG=${DATABRICKS_CATALOG}" >> $GITHUB_ENV
62- echo "DATABRICKS_SCHEMA=${DATABRICKS_SCHEMA}" >> $GITHUB_ENV
63- echo "DATABRICKS_DOGFOOD_HOST=${DATABRICKS_DOGFOOD_HOST}" >> $GITHUB_ENV
64- echo "DATABRICKS_DOGFOOD_TOKEN=${DATABRICKS_DOGFOOD_TOKEN}" >> $GITHUB_ENV
65- echo "DATABRICKS_DOGFOOD_HTTP_PATH=${DATABRICKS_DOGFOOD_HTTP_PATH}" >> $GITHUB_ENV
66-
67- - name : Build with Maven
68- run : mvn -B package --file pom.xml
69-
70- - name : Run Integration Tests
71- run : mvn -B test -Dtest=*IntegrationTests
72- env :
73- DATABRICKS_HOST : ${{ env.DATABRICKS_HOST }}
74- DATABRICKS_BENCHFOOD_HOST : ${{ env.DATABRICKS_BENCHFOOD_HOST }}
75- DATABRICKS_BENCHMARKING_HOST : ${{ env.DATABRICKS_BENCHMARKING_HOST }}
76- DATABRICKS_HTTP_PATH : ${{ env.DATABRICKS_HTTP_PATH }}
77- DATABRICKS_BENCHFOOD_HTTP_PATH : ${{ env.DATABRICKS_BENCHFOOD_HTTP_PATH }}
78- DATABRICKS_BENCHMARKING_HTTP_PATH : ${{ env.DATABRICKS_BENCHMARKING_HTTP_PATH }}
79- DATABRICKS_TOKEN : ${{ env.DATABRICKS_TOKEN }}
80- DATABRICKS_BENCHFOOD_TOKEN : ${{ env.DATABRICKS_BENCHFOOD_TOKEN }}
81- DATABRICKS_BENCHMARKING_TOKEN : ${{ env.DATABRICKS_BENCHMARKING_TOKEN }}
82- DATABRICKS_USER : ${{ env.DATABRICKS_USER }}
83- DATABRICKS_CATALOG : ${{ env.DATABRICKS_CATALOG }}
84- DATABRICKS_SCHEMA : ${{ env.DATABRICKS_SCHEMA }}
85- DATABRICKS_DOGFOOD_HOST : ${{ env.DATABRICKS_DOGFOOD_HOST }}
86- DATABRICKS_DOGFOOD_TOKEN : ${{ env.DATABRICKS_DOGFOOD_TOKEN }}
87- DATABRICKS_DOGFOOD_HTTP_PATH : ${{ env.DATABRICKS_DOGFOOD_HTTP_PATH }}
88- build-and-test-thrift :
89- name : Build and Run Integration Tests (Thrift)
90- runs-on : ubuntu-latest
91- environment : azure-prod
92- steps :
93- - name : Checkout code
94- uses : actions/checkout@v2
95-
96- - name : Set up JDK 21
97- uses : actions/setup-java@v2
26+ - uses : actions/checkout@v2
27+ - uses : actions/setup-java@v2
9828 with :
9929 java-version : 21
10030 distribution : ' adopt'
101-
102- - name : Cache Maven packages
103- uses : actions/cache@v2
31+ - uses : actions/cache@v2
10432 with :
10533 path : ~/.m2
10634 key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
10735 restore-keys : ${{ runner.os }}-m2
108-
109- - name : Set up All purpose Connection
110- env :
111- DATABRICKS_HOST : ${{ secrets.THRIFT_DATABRICKS_HOST }}
112- DATABRICKS_TOKEN : ${{ secrets.THRIFT_DATABRICKS_TOKEN }}
113- DATABRICKS_USER : ${{ secrets.THRIFT_DATABRICKS_USER }}
114- DATABRICKS_HTTP_PATH : ${{ secrets.THRIFT_DATABRICKS_HTTP_PATH }}
115- DATABRICKS_CATALOG : ${{ secrets.DATABRICKS_CATALOG }}
116- DATABRICKS_SCHEMA : ${{ secrets.DATABRICKS_SCHEMA }}
117- run : |
118- echo "DATABRICKS_HOST=${DATABRICKS_HOST}" >> $GITHUB_ENV
119- echo "DATABRICKS_TOKEN=${DATABRICKS_TOKEN}" >> $GITHUB_ENV
120- echo "DATABRICKS_USER=${DATABRICKS_USER}" >> $GITHUB_ENV
121- echo "DATABRICKS_HTTP_PATH=${DATABRICKS_HTTP_PATH}" >> $GITHUB_ENV
122- echo "DATABRICKS_CATALOG=${DATABRICKS_CATALOG}" >> $GITHUB_ENV
123- echo "DATABRICKS_SCHEMA=${DATABRICKS_SCHEMA}" >> $GITHUB_ENV
124-
125- - name : Build with Maven
126- run : mvn -B package --file pom.xml
127-
12836 - name : Run Integration Tests
129- run : mvn -B test -Dtest=**/fakeservice/tests/*.java,!**/fakeservice/tests/ConcurrencyIntegrationTests.java,!**/fakeservice/tests/PreparedStatementIntegrationTests.java
37+ run : ${{ matrix. test-command }}
13038 env :
131- DATABRICKS_HOST : ${{ env.DATABRICKS_HOST }}
132- DATABRICKS_TOKEN : ${{ env.DATABRICKS_TOKEN }}
133- DATABRICKS_USER : ${{ env.DATABRICKS_USER }}
134- DATABRICKS_HTTP_PATH : ${{ env.DATABRICKS_HTTP_PATH }}
135- DATABRICKS_CATALOG : ${{ env.DATABRICKS_CATALOG }}
136- DATABRICKS_SCHEMA : ${{ env.DATABRICKS_SCHEMA }}
39+ DATABRICKS_TOKEN : ${{ secrets[matrix.token-secret] }}
40+ DATABRICKS_USER : ${{ secrets.DATABRICKS_USER }}
41+ USE_THRIFT_CLIENT : ${{ matrix.use-thrift-client }}
0 commit comments