@@ -128,6 +128,13 @@ jobs:
128
128
- name : Setup Node
129
129
uses : ./.github/actions/setup-node
130
130
131
+ # Necessary for signing Windows binaries.
132
+ - name : Setup Java
133
+ uses : actions/setup-java@v4
134
+ with :
135
+ distribution : " zulu"
136
+ java-version : " 11.0"
137
+
131
138
- name : Install nsis and zstd
132
139
run : sudo apt-get install -y nsis zstd
133
140
@@ -161,10 +168,32 @@ jobs:
161
168
AC_CERTIFICATE_PASSWORD : ${{ secrets.AC_CERTIFICATE_PASSWORD }}
162
169
AC_APIKEY_P8_BASE64 : ${{ secrets.AC_APIKEY_P8_BASE64 }}
163
170
171
+ - name : Setup Windows EV Signing Certificate
172
+ run : |
173
+ set -euo pipefail
174
+ touch /tmp/ev_cert.pem
175
+ chmod 600 /tmp/ev_cert.pem
176
+ echo "$EV_SIGNING_CERT" > /tmp/ev_cert.pem
177
+ wget https://github.com/ebourg/jsign/releases/download/6.0/jsign-6.0.jar -O /tmp/jsign-6.0.jar
178
+ env :
179
+ EV_SIGNING_CERT : ${{ secrets.EV_SIGNING_CERT }}
180
+
164
181
- name : Test migrations from current ref to main
165
182
run : |
166
183
make test-migrations
167
184
185
+ # Setup GCloud for signing Windows binaries.
186
+ - name : Authenticate to Google Cloud
187
+ id : gcloud_auth
188
+ uses : google-github-actions/auth@v2
189
+ with :
190
+ workload_identity_provider : ${{ secrets.GCP_CODE_SIGNING_WORKLOAD_ID_PROVIDER }}
191
+ service_account : ${{ secrets.GCP_CODE_SIGNING_SERVICE_ACCOUNT }}
192
+ token_format : " access_token"
193
+
194
+ - name : Setup GCloud SDK
195
+ uses : " google-github-actions/setup-gcloud@v2"
196
+
168
197
- name : Build binaries
169
198
run : |
170
199
set -euo pipefail
@@ -179,16 +208,26 @@ jobs:
179
208
build/coder_helm_"$version".tgz \
180
209
build/provisioner_helm_"$version".tgz
181
210
env :
211
+ CODER_SIGN_WINDOWS : " 1"
182
212
CODER_SIGN_DARWIN : " 1"
183
213
AC_CERTIFICATE_FILE : /tmp/apple_cert.p12
184
214
AC_CERTIFICATE_PASSWORD_FILE : /tmp/apple_cert_password.txt
185
215
AC_APIKEY_ISSUER_ID : ${{ secrets.AC_APIKEY_ISSUER_ID }}
186
216
AC_APIKEY_ID : ${{ secrets.AC_APIKEY_ID }}
187
217
AC_APIKEY_FILE : /tmp/apple_apikey.p8
218
+ EV_KEY : ${{ secrets.EV_KEY }}
219
+ EV_KEYSTORE : ${{ secrets.EV_KEYSTORE }}
220
+ EV_TSA_URL : ${{ secrets.EV_TSA_URL }}
221
+ EV_CERTIFICATE_PATH : /tmp/ev_cert.pem
222
+ GCLOUD_ACCESS_TOKEN : ${{ steps.gcloud_auth.outputs.access_token }}
223
+ JSIGN_PATH : /tmp/jsign-6.0.jar
188
224
189
225
- name : Delete Apple Developer certificate and API key
190
226
run : rm -f /tmp/{apple_cert.p12,apple_cert_password.txt,apple_apikey.p8}
191
227
228
+ - name : Delete Windows EV Signing Cert
229
+ run : rm /tmp/ev_cert.pem
230
+
192
231
- name : Determine base image tag
193
232
id : image-base-tag
194
233
run : |
0 commit comments