Skip to content

Commit debc6f4

Browse files
committed
wip
1 parent ba0a340 commit debc6f4

File tree

3 files changed

+53
-53
lines changed

3 files changed

+53
-53
lines changed

ci/pipelines/default-pipeline.yml

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ include:
44
# SETUP
55

66
stages:
7-
- fetch-secrets
7+
- source-secrets
88
- ci-image
99
- security
1010
- analysis
@@ -14,9 +14,9 @@ stages:
1414
- notify
1515

1616
.snippets:
17-
fetch-secrets:
18-
- mkdir -p ./ci/pipelines/secrets
19-
- ./ci/scripts/fetch-secrets.sh
17+
source-secrets:
18+
- source ./ci/scripts/vault_config.sh
19+
- source ./ci/scripts/get-secret.sh
2020

2121
# macOS AMI will already have cmdline-tools installed
2222
install-android-api-components:
@@ -44,26 +44,24 @@ stages:
4444
- if [[ "$exit_code" -ne 0 ]]; then exit 1; fi
4545
- exit 0
4646
set-publishing-credentials:
47-
- cp ./ci/pipelines/secrets/gradle.properties ./gradle.properties
48-
- export GPG_PRIVATE_KEY=$(cat ./ci/pipelines/secrets/gpg_private_key)
49-
- export GPG_PASSWORD=$(cat ./ci/pipelines/secrets/gpg_passphrase)
50-
- export CENTRAL_PUBLISHER_USERNAME=$(cat ./ci/pipelines/secrets/central_username)
51-
- export CENTRAL_PUBLISHER_PASSWORD=$(cat ./ci/pipelines/secrets/central_password)
52-
- export GPG_PUBLIC_FINGERPRINT=$(cat ./ci/pipelines/secrets/gpg_public_key | gpg --import --import-options show-only | grep -E -o -e "[A-F0-9]{40}")
47+
- get_secret $DD_ANDROID_SECRET__GRADLE_PROPERTIES > ./gradle.properties
48+
- export GPG_PRIVATE_KEY=$(get_secret $DD_ANDROID_SECRET__SIGNING_GPG_PRIVATE_KEY)
49+
- export GPG_PASSWORD=$(get_secret $DD_ANDROID_SECRET__SIGNING_GPG_PASSPHRASE)
50+
- export CENTRAL_PUBLISHER_USERNAME=$(get_secret $DD_ANDROID_SECRET__PUBLISHING_CENTRAL_USERNAME)
51+
- export CENTRAL_PUBLISHER_PASSWORD=$(get_secret $DD_ANDROID_SECRET__PUBLISHING_CENTRAL_PWD)
52+
- export GPG_PUBLIC_FINGERPRINT=$(get_secret $DD_ANDROID_SECRET__SIGNING_GPG_PUBLIC_KEY | gpg --import --import-options show-only | grep -E -o -e "[A-F0-9]{40}")
5353

5454
# CI IMAGE
5555

56-
fetch-secrets:
57-
stage: fetch-secrets
58-
tags: ["macos:sonoma","specific:true"]
56+
source-secrets:
57+
stage: source-secrets
58+
tags: [ "arch:amd64" ]
5959
image: $CI_IMAGE_DOCKER
6060
script:
61-
- !reference [.snippets, fetch-secrets]
62-
artifacts:
63-
paths:
64-
- ./ci/pipelines/secrets/
65-
expire_in: 1 hour
66-
when: always
61+
- !reference [.snippets, source-secrets]
62+
- echo $(get_secret $DD_ANDROID_SECRET__TEST_SECRET)
63+
- ddtool auth whoami --datacenter us1.ddbuild.io
64+
- vault token lookup
6765

6866
ci-image:
6967
stage: ci-image
@@ -199,12 +197,14 @@ test:kover:
199197
- cache/caches/
200198
- cache/notifications/
201199
script:
200+
- !reference [.snippets, source-secrets]
202201
- pip3 install datadog
203202
- rm -rf ~/.gradle/daemon/
204203
- export DD_AGENT_HOST="$BUILDENV_HOST_IP"
205-
- export DD_API_KEY=$(cat ./ci/pipelines/secrets/api_key)
206-
- export DD_APP_KEY=$(cat ./ci/pipelines/secrets/app_key)
207-
- CODECOV_TOKEN=$(cat ./ci/pipelines/secrets/codecov_token)
204+
- export DD_API_KEY=$(get_secret $DD_ANDROID_SECRET__API_KEY)
205+
- vault token lookup
206+
- export DD_APP_KEY=$(get_secret $DD_ANDROID_SECRET__APP_KEY)
207+
- CODECOV_TOKEN=$(get_secret $DD_ANDROID_SECRET__CODECOV_TOKEN)
208208
- GRADLE_OPTS="-Xmx3072m" DD_TAGS="test.configuration.variant:release" ./gradlew :dd-sdk-android-core:koverXmlReportRelease --no-daemon --build-cache --gradle-user-home cache/ -Dorg.gradle.jvmargs=-javaagent:$DD_TRACER_FOLDER/dd-java-agent.jar=$DD_COMMON_AGENT_CONFIG
209209
- GRADLE_OPTS="-Xmx3072m" DD_TAGS="test.configuration.variant:release" ./gradlew :dd-sdk-android-internal:koverXmlReportRelease --no-daemon --build-cache --gradle-user-home cache/ -Dorg.gradle.jvmargs=-javaagent:$DD_TRACER_FOLDER/dd-java-agent.jar=$DD_COMMON_AGENT_CONFIG
210210
- GRADLE_OPTS="-Xmx3072m" DD_TAGS="test.configuration.variant:release" ./gradlew :koverReportFeatures --no-daemon --build-cache --gradle-user-home cache/ -Dorg.gradle.jvmargs=-javaagent:$DD_TRACER_FOLDER/dd-java-agent.jar=$DD_COMMON_AGENT_CONFIG
@@ -390,7 +390,7 @@ test-pyramid:detekt-api-coverage:
390390
timeout: 1h
391391
script:
392392
- mkdir -p ./config/
393-
- cp ./ci/pipelines/secrets/gradle.properties ./gradle.properties
393+
- get_secret $DD_ANDROID_SECRET__GRADLE_PROPERTIES > ./gradle.properties
394394
- GRADLE_OPTS="-Xmx4096M" ./gradlew assembleLibrariesDebug --stacktrace --no-daemon
395395
- GRADLE_OPTS="-Xmx4096M" ./gradlew printSdkDebugRuntimeClasspath --stacktrace --no-daemon
396396
- GRADLE_OPTS="-Xmx4096M" ./gradlew :tools:detekt:jar --stacktrace --no-daemon
@@ -408,13 +408,13 @@ test-pyramid:publish-e2e-synthetics:
408408
- develop
409409
script:
410410
- mkdir -p ./config/
411-
- cp ./ci/pipelines/secrets/gradle.properties ./gradle.properties
412-
- cp ./ci/pipelines/secrets/keystore ./sample-android.keystore
413-
- cp ./ci/pipelines/secrets/e2e_config.json ./config/us1.json
414-
- export E2E_STORE_PASSWD=$(cat ./ci/pipelines/secrets/keystore_password)
415-
- export E2E_DD_API_KEY=$(cat ./ci/pipelines/secrets/e2e_api_key)
416-
- export E2E_DD_APP_KEY=$(cat ./ci/pipelines/secrets/e2e_app_key)
417-
- export E2E_MOBILE_APP_ID=$(cat ./ci/pipelines/secrets/e2e_mobile_app_id)
411+
- get_secret $DD_ANDROID_SECRET__GRADLE_PROPERTIES > ./gradle.properties
412+
- get_secret $DD_ANDROID_SECRET__KEYSTORE > ./sample-android.keystore
413+
- get_secret $DD_ANDROID_SECRET__E2E_CONFIG_JSON > ./config/us1.json
414+
- export E2E_STORE_PASSWD=$(get_secret $DD_ANDROID_SECRET__KEYSTORE_PWD)
415+
- export E2E_DD_API_KEY=$(get_secret $DD_ANDROID_SECRET__E2E_API_KEY)
416+
- export E2E_DD_APP_KEY=$(get_secret $DD_ANDROID_SECRET__E2E_APP_KEY)
417+
- export E2E_MOBILE_APP_ID=$(get_secret $DD_ANDROID_SECRET__E2E_MOBILE_APP_ID)
418418
- GRADLE_OPTS="-Xmx4096M" ./gradlew assembleLibrariesRelease --stacktrace --no-daemon
419419
- GRADLE_OPTS="-Xmx4096M" ./gradlew :sample:kotlin:packageUs1Release --stacktrace --no-daemon
420420
- npm update -g @datadog/datadog-ci
@@ -435,13 +435,13 @@ test-pyramid:publish-webview-synthetics:
435435
- develop
436436
script:
437437
- mkdir -p ./config/
438-
- cp ./ci/pipelines/secrets/gradle.properties ./gradle.properties
439-
- cp ./ci/pipelines/secrets/keystore ./sample-android.keystore
440-
- cp ./ci/pipelines/secrets/webview_config.json ./config/us1.json
441-
- export E2E_STORE_PASSWD=$(cat ./ci/pipelines/secrets/keystore_password)
442-
- export E2E_DD_API_KEY=$(cat ./ci/pipelines/secrets/webview_api_key)
443-
- export E2E_DD_APP_KEY=$(cat ./ci/pipelines/secrets/webview_app_key)
444-
- export E2E_MOBILE_APP_ID=$(cat ./ci/pipelines/secrets/webview_mobile_app_id)
438+
- get_secret $DD_ANDROID_SECRET__GRADLE_PROPERTIES > ./gradle.properties
439+
- get_secret $DD_ANDROID_SECRET__KEYSTORE > ./sample-android.keystore
440+
- get_secret $DD_ANDROID_SECRET__WEBVIEW_CONFIG_JSON > ./config/us1.json
441+
- export E2E_STORE_PASSWD=$(get_secret $DD_ANDROID_SECRET__KEYSTORE_PWD)
442+
- export E2E_DD_API_KEY=$(get_secret $DD_ANDROID_SECRET__WEBVIEW_API_KEY)
443+
- export E2E_DD_APP_KEY=$(get_secret $DD_ANDROID_SECRET__WEBVIEW_APP_KEY)
444+
- export E2E_MOBILE_APP_ID=$(get_secret $DD_ANDROID_SECRET__WEBVIEW_MOBILE_APP_ID)
445445
- GRADLE_OPTS="-Xmx4096M" ./gradlew assembleLibrariesRelease --stacktrace --no-daemon
446446
- GRADLE_OPTS="-Xmx4096M" ./gradlew :sample:kotlin:packageUs1Release --stacktrace --no-daemon
447447
- npm update -g @datadog/datadog-ci
@@ -462,13 +462,13 @@ test-pyramid:publish-staging-synthetics:
462462
- develop
463463
script:
464464
- mkdir -p ./config/
465-
- cp ./ci/pipelines/secrets/gradle.properties ./gradle.properties
466-
- cp ./ci/pipelines/secrets/keystore ./sample-android.keystore
467-
- cp ./ci/pipelines/secrets/e2e_staging_config.json ./config/staging.json
468-
- export E2E_STORE_PASSWD=$(cat ./ci/pipelines/secrets/keystore_password)
469-
- export E2E_DD_API_KEY=$(cat ./ci/pipelines/secrets/e2e_staging_api_key)
470-
- export E2E_DD_APP_KEY=$(cat ./ci/pipelines/secrets/e2e_staging_app_key)
471-
- export E2E_MOBILE_APP_ID=$(cat ./ci/pipelines/secrets/e2e_staging_app_id)
465+
- get_secret $DD_ANDROID_SECRET__GRADLE_PROPERTIES > ./gradle.properties
466+
- get_secret $DD_ANDROID_SECRET__KEYSTORE > ./sample-android.keystore
467+
- get_secret $DD_ANDROID_SECRET__E2E_STAGING_CONFIG_JSON > ./config/staging.json
468+
- export E2E_STORE_PASSWD=$(get_secret $DD_ANDROID_SECRET__KEYSTORE_PWD)
469+
- export E2E_DD_API_KEY=$(get_secret $DD_ANDROID_SECRET__E2E_STAGING_API_KEY)
470+
- export E2E_DD_APP_KEY=$(get_secret $DD_ANDROID_SECRET__E2E_STAGING_APP_KEY)
471+
- export E2E_MOBILE_APP_ID=$(get_secret $DD_ANDROID_SECRET__E2E_STAGING_APP_ID)
472472
- GRADLE_OPTS="-Xmx4096M" ./gradlew assembleLibrariesRelease --stacktrace --no-daemon
473473
- GRADLE_OPTS="-Xmx4096M" ./gradlew :sample:kotlin:packageStagingRelease --stacktrace --no-daemon
474474
- npm update -g @datadog/datadog-ci
@@ -489,13 +489,13 @@ test-pyramid:publish-benchmark-synthetics:
489489
- develop
490490
script:
491491
- mkdir -p ./config/
492-
- cp ./ci/pipelines/secrets/gradle.properties ./gradle.properties
493-
- cp ./ci/pipelines/secrets/keystore ./sample-benchmark.keystore
494-
- cp ./ci/pipelines/secrets/benchmark_config.json ./config/benchmark.json
495-
- export BM_STORE_PASSWD=$(cat ./ci/pipelines/secrets/keystore_password)
496-
- export BM_DD_API_KEY=$(cat ./ci/pipelines/secrets/benchmark_api_key)
497-
- export BM_DD_APP_KEY=$(cat ./ci/pipelines/secrets/benchmark_app_key)
498-
- export BM_MOBILE_APP_ID=$(cat ./ci/pipelines/secrets/benchmark_mobile_app_id)
492+
- get_secret $DD_ANDROID_SECRET__GRADLE_PROPERTIES > ./gradle.properties
493+
- get_secret $DD_ANDROID_SECRET__KEYSTORE > ./sample-benchmark.keystore
494+
- get_secret $DD_ANDROID_SECRET__BENCHMARK_CONFIG_JSON > ./config/benchmark.json
495+
- export BM_STORE_PASSWD=$(get_secret $DD_ANDROID_SECRET__KEYSTORE_PWD)
496+
- export BM_DD_API_KEY=$(get_secret $DD_ANDROID_SECRET__BENCHMARK_API_KEY)
497+
- export BM_DD_APP_KEY=$(get_secret $DD_ANDROID_SECRET__BENCHMARK_APP_KEY)
498+
- export BM_MOBILE_APP_ID=$(get_secret $DD_ANDROID_SECRET__BENCHMARK_MOBILE_APP_ID)
499499
- GRADLE_OPTS="-Xmx4096M" ./gradlew assembleLibrariesRelease --stacktrace --no-daemon
500500
- GRADLE_OPTS="-Xmx4096M" ./gradlew :sample:benchmark:packageRelease --stacktrace --no-daemon
501501
- npm update -g @datadog/datadog-ci

ci/scripts/get-secret.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ get_secret() {
2222

2323
if [ "$CI" = "true" ]; then
2424
echo "Login as CI"
25-
vault login -method=aws -no-print
25+
vault login -method=oidc -no-print
2626
else
2727
if vault token lookup &>/dev/null; then
2828
echo "Reading '$secret_name' secret in local env. You are already authenticated with 'vault'." >&2

ci/scripts/vault_config.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#
88

99
DD_VAULT_ADDR=https://vault.us1.ddbuild.io
10-
DD_ANDROID_SECRETS_PATH_PREFIX='kv/aws/arn:aws:iam::486234852809:role/ci-dd-sdk-android/'
10+
DD_ANDROID_SECRETS_PATH_PREFIX='kv/k8s/gitlab-runner/dd-sdk-android/'
1111

1212
DD_ANDROID_SECRET__TEST_SECRET="test.secret"
1313
DD_ANDROID_SECRET__GRADLE_PROPERTIES="gradle.properties"

0 commit comments

Comments
 (0)