3939 java-version : " 21"
4040 distribution : " adopt"
4141
42+ - name : Set Environment Variables
43+ env :
44+ DATABRICKS_TOKEN : ${{ secrets.DATABRICKS_TOKEN }}
45+ DATABRICKS_HOST : ${{ secrets.DATABRICKS_HOST }}
46+ DATABRICKS_HTTP_PATH : ${{ secrets.DATABRICKS_HTTP_PATH }}
47+ HTTP_PROXY_URL : " http://localhost:3128"
48+ HTTPS_PROXY_URL : " https://localhost:3129"
49+ TRUSTSTORE_PATH : " /tmp/ssl-certs/test-truststore.jks"
50+ TRUSTSTORE_PASSWORD : " changeit"
51+ run : |
52+ echo "DATABRICKS_TOKEN=${DATABRICKS_TOKEN}" >> $GITHUB_ENV
53+ echo "DATABRICKS_HOST=${DATABRICKS_HOST}" >> $GITHUB_ENV
54+ echo "DATABRICKS_HTTP_PATH=${DATABRICKS_HTTP_PATH}" >> $GITHUB_ENV
55+ echo "HTTP_PROXY_URL=${HTTP_PROXY_URL}" >> $GITHUB_ENV
56+ echo "HTTPS_PROXY_URL=${HTTPS_PROXY_URL}" >> $GITHUB_ENV
57+ echo "TRUSTSTORE_PATH=${TRUSTSTORE_PATH}" >> $GITHUB_ENV
58+ echo "TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD}" >> $GITHUB_ENV
59+
4260 - name : Install Squid and SSL Tools
4361 run : |
4462 sudo apt-get update
@@ -104,6 +122,10 @@ jobs:
104122 sudo cp squid.pem /etc/squid/
105123 sudo chown proxy:proxy /etc/squid/squid.pem
106124
125+ # Extract the Databricks workspace certificate
126+ echo -n | openssl s_client -connect ${DATABRICKS_HOST}:443 -showcerts 2>/dev/null | \
127+ sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > databricks_workspace.crt
128+
107129 # Create Java Keystore from Root CA - with proper trust anchors
108130 rm -f test-truststore.jks
109131
@@ -115,6 +137,10 @@ jobs:
115137 keytool -importcert -noprompt -trustcacerts -alias intermediateca -file intermediateCA.crt \
116138 -keystore test-truststore.jks -storepass changeit
117139
140+ # Add the Databricks workspace certificate to the trust store
141+ keytool -importcert -noprompt -trustcacerts -alias databricksworkspace -file databricks_workspace.crt \
142+ -keystore test-truststore.jks -storepass changeit
143+
118144 chmod 644 test-truststore.jks
119145
120146 - name : Configure Squid with Standard SSL
@@ -189,24 +215,6 @@ jobs:
189215 run : |
190216 mvn clean package -DskipTests
191217
192- - name : Set Environment Variables
193- env :
194- DATABRICKS_TOKEN : ${{ secrets.DATABRICKS_TOKEN }}
195- DATABRICKS_HOST : ${{ secrets.DATABRICKS_HOST }}
196- DATABRICKS_HTTP_PATH : ${{ secrets.DATABRICKS_HTTP_PATH }}
197- HTTP_PROXY_URL : " http://localhost:3128"
198- HTTPS_PROXY_URL : " https://localhost:3129"
199- TRUSTSTORE_PATH : " /tmp/ssl-certs/test-truststore.jks"
200- TRUSTSTORE_PASSWORD : " changeit"
201- run : |
202- echo "DATABRICKS_TOKEN=${DATABRICKS_TOKEN}" >> $GITHUB_ENV
203- echo "DATABRICKS_HOST=${DATABRICKS_HOST}" >> $GITHUB_ENV
204- echo "DATABRICKS_HTTP_PATH=${DATABRICKS_HTTP_PATH}" >> $GITHUB_ENV
205- echo "HTTP_PROXY_URL=${HTTP_PROXY_URL}" >> $GITHUB_ENV
206- echo "HTTPS_PROXY_URL=${HTTPS_PROXY_URL}" >> $GITHUB_ENV
207- echo "TRUSTSTORE_PATH=${TRUSTSTORE_PATH}" >> $GITHUB_ENV
208- echo "TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD}" >> $GITHUB_ENV
209-
210218 - name : Run SSL Tests
211219 run : |
212220 mvn test -Dtest=**/SSLTest.java
0 commit comments