File tree Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -269,6 +269,9 @@ jobs:
269
269
- script-integration-test
270
270
- env-var-check
271
271
runs-on : ubuntu-24.04
272
+ permissions :
273
+ packages : write
274
+ id-token : write
272
275
if : ${{ ! startsWith(github.head_ref, 'dependabot/')}}
273
276
274
277
steps :
@@ -316,6 +319,9 @@ jobs:
316
319
- name : Set up Docker Buildx
317
320
uses : docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3
318
321
322
+ - name : Install Cosign
323
+ uses : sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac # v3
324
+
319
325
- name : Login to GitHub Container Registry
320
326
uses : docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3
321
327
with :
@@ -337,6 +343,7 @@ jobs:
337
343
type=semver,pattern={{major}}.{{minor}}
338
344
339
345
- name : Build and push
346
+ id : docker-build-push
340
347
uses : docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6
341
348
with :
342
349
context : .
@@ -345,6 +352,9 @@ jobs:
345
352
tags : ${{ steps.docker-meta.outputs.tags }}
346
353
labels : ${{ steps.docker-meta.outputs.labels }}
347
354
355
+ - name : Sign GHCR Image
356
+ run : cosign sign --yes "ghcr.io/${{ github.repository }}@${{ steps.docker-build-push.outputs.digest }}"
357
+
348
358
- name : Release
349
359
uses : softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2
350
360
if : startsWith(github.ref, 'refs/tags/')
Original file line number Diff line number Diff line change @@ -34,6 +34,28 @@ TORCH interacts with the following components directly:
34
34
The reverse proxy allows for integration into a site's multi-server infrastructure and provides a means of serving
35
35
the extracted data.
36
36
37
+ ## Verification
38
+
39
+ For container images, we use cosign to sign images. This allows users to confirm the image was built by the expected CI
40
+ pipeline and has not been modified after publication.
41
+ ```
42
+ cosign verify "ghcr.io/medizininformatik-initiative/torch:v1.0.0" \
43
+ --certificate-identity-regexp "https://github.com/medizininformatik-initiative/torch.*" \
44
+ --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
45
+ --certificate-github-workflow-ref="refs/tags/v1.0.0" \
46
+ -o text
47
+ ```
48
+ The expected output is:
49
+ ```
50
+ Verification for ghcr.io/medizininformatik-initiative/torch:v1.0.0 --
51
+ The following checks were performed on each of these signatures:
52
+ - The cosign claims were validated
53
+ - Existence of the claims in the transparency log was verified offline
54
+ - The code-signing certificate was verified using trusted certificate authority certificates
55
+ ```
56
+ This output ensures that the image was build on the GitHub workflow on the repository
57
+ ` medizininformatik-initiative/torch ` and tag ` v1.0.0 ` .
58
+
37
59
### Cohort Selection
38
60
39
61
TORCH supports CQL or FHIR Search for the cohort selection part.
You can’t perform that action at this time.
0 commit comments