|
1 | | -# syntax=docker/dockerfile:1.4 |
| 1 | +# syntax=docker/dockerfile:1 |
2 | 2 |
|
3 | 3 | # ============================================================================== |
4 | 4 | # Base image with Rust toolchain (Alpine - more reliable than Debian) |
@@ -416,6 +416,15 @@ FROM openfeature-provider-js.test AS openfeature-provider-js.test_e2e |
416 | 416 | RUN --mount=type=secret,id=js_e2e_test_env,target=.env.test \ |
417 | 417 | make test-e2e |
418 | 418 |
|
| 419 | +# ============================================================================== |
| 420 | +# Test Secrets |
| 421 | +# ============================================================================== |
| 422 | +FROM alpine AS secrets-testing.print |
| 423 | + |
| 424 | +# Never do this at home kids! |
| 425 | +RUN --mount=type=secret,id=test_secret,target=/run/secrets/secret.txt \ |
| 426 | + cp /run/secrets/secret.txt /secret.txt |
| 427 | + |
419 | 428 | # ============================================================================== |
420 | 429 | # Build OpenFeature Provider |
421 | 430 | # ============================================================================== |
@@ -485,19 +494,32 @@ FROM openfeature-provider-java-base AS openfeature-provider-java.build |
485 | 494 |
|
486 | 495 | RUN make build |
487 | 496 |
|
| 497 | +# ============================================================================== |
| 498 | +# Publish OpenFeature Provider (Java) to Maven Central |
| 499 | +# ============================================================================== |
| 500 | +FROM openfeature-provider-java.build AS openfeature-provider-java.install |
| 501 | + |
| 502 | +RUN --mount=type=secret,id=gpg_private_key \ |
| 503 | + gpg --batch --pinentry-mode loopback --import /run/secrets/gpg_private_key |
| 504 | + |
| 505 | +RUN --mount=type=secret,id=maven_settings \ |
| 506 | + --mount=type=secret,id=gpg_pass,env=MAVEN_GPG_PASSPHRASE \ |
| 507 | + mvn -q -s /run/secrets/maven_settings --batch-mode install \ |
| 508 | + -Dgpg.pinentry-mode=loopback |
| 509 | + |
488 | 510 | # ============================================================================== |
489 | 511 | # Publish OpenFeature Provider (Java) to Maven Central |
490 | 512 | # ============================================================================== |
491 | 513 | FROM openfeature-provider-java.build AS openfeature-provider-java.publish |
492 | 514 |
|
493 | 515 | # Import GPG private key and deploy to Maven Central |
494 | | -RUN --mount=type=secret,id=maven_settings,target=/root/.m2/settings.xml \ |
495 | | - --mount=type=secret,id=gpg_private_key \ |
496 | | - --mount=type=secret,id=gpg_pass \ |
497 | | - # Import GPG key |
498 | | - cat /run/secrets/gpg_private_key | gpg --batch --import && \ |
499 | | - # Deploy to Maven Central |
500 | | - mvn -Dgpg.passphrase="$(cat /run/secrets/gpg_pass)" --batch-mode deploy |
| 516 | +RUN --mount=type=secret,id=gpg_private_key \ |
| 517 | + gpg --batch --pinentry-mode loopback --import /run/secrets/gpg_private_key |
| 518 | + |
| 519 | +RUN --mount=type=secret,id=maven_settings \ |
| 520 | + --mount=type=secret,id=gpg_pass,env=MAVEN_GPG_PASSPHRASE \ |
| 521 | + mvn -s /run/secrets/maven_settings --batch-mode deploy \ |
| 522 | + -Dgpg.pinentry-mode=loopback |
501 | 523 |
|
502 | 524 | # ============================================================================== |
503 | 525 | # All - Build and validate everything (default target) |
|
0 commit comments