1
1
include :
2
- - project : DataDog/apm-reliability/libdatadog-build
3
- ref : 0f677257308e1c379af490b754febfb40fa2c06d
4
- file : templates/ci_authenticated_job.yml
5
2
- local : " .gitlab/one-pipeline.locked.yml"
6
3
- local : " .gitlab/benchmarks.yml"
7
4
- local : " .gitlab/macrobenchmarks.yml"
@@ -20,6 +17,10 @@ stages:
20
17
- generate-signing-key
21
18
22
19
variables :
20
+ # Gitlab runner features; see https://docs.gitlab.com/runner/configuration/feature-flags.html
21
+ # Fold and time all script sections
22
+ FF_SCRIPT_SECTIONS : 1
23
+
23
24
REGISTRY : 486234852809.dkr.ecr.us-east-1.amazonaws.com
24
25
BUILD_JOB_NAME : " build"
25
26
DEPENDENCY_CACHE_POLICY : pull
@@ -132,15 +133,24 @@ default:
132
133
policy : $BUILD_CACHE_POLICY
133
134
before_script :
134
135
- source .gitlab/gitlab-utils.sh
135
- - export GRADLE_USER_HOME=`pwd`/.gradle
136
+ - mkdir -p .gradle
137
+ - export GRADLE_USER_HOME=$(pwd)/.gradle
138
+ - |
139
+ # Don't put jvm args here as it will be picked up by child gradle processes used in tests
140
+ cat << EOF > $GRADLE_USER_HOME/gradle.properties
141
+ mavenRepositoryProxy=$MAVEN_REPOSITORY_PROXY
142
+ gradlePluginProxy=$GRADLE_PLUGIN_PROXY
143
+ EOF
144
+ - |
145
+ # replace maven central part by MAVEN_REPOSITORY_PROXY in .mvn/wrapper/maven-wrapper.properties
146
+ sed -i "s|https://repo.maven.apache.org/maven2/|$MAVEN_REPOSITORY_PROXY|g" .mvn/wrapper/maven-wrapper.properties
136
147
- export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx$GRADLE_MEM -Xms$GRADLE_MEM -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'"
137
- - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS -PmavenRepositoryProxy=$MAVEN_REPOSITORY_PROXY -PgradlePluginProxy=$GRADLE_PLUGIN_PROXY "
148
+ - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS"
138
149
- *normalize_node_index
139
150
# for weird reasons, gradle will always "chmod 700" the .gradle folder
140
151
# with Gitlab caching, .gradle is always owned by root and thus gradle's chmod invocation fails
141
152
# This dance is a hack to have .gradle owned by the Gitlab runner user
142
153
- gitlab_section_start "gradle-dance" "Fix .gradle directory permissions"
143
- - mkdir -p .gradle
144
154
- cp -r .gradle .gradle-copy
145
155
- rm -rf .gradle
146
156
- mv .gradle-copy .gradle
@@ -361,7 +371,7 @@ muzzle:
361
371
- ./gradlew writeMuzzleTasksToFile $GRADLE_ARGS
362
372
- sort workspace/build/muzzleTasks > sortedMuzzleTasks
363
373
- split --number=l/$NORMALIZED_NODE_TOTAL --suffix-length=1 --numeric-suffixes sortedMuzzleTasks muzzleSplit
364
- - ./gradlew ` cat muzzleSplit${NORMALIZED_NODE_INDEX} | xargs` $GRADLE_ARGS
374
+ - ./gradlew $( cat muzzleSplit${NORMALIZED_NODE_INDEX} | xargs) $GRADLE_ARGS
365
375
after_script :
366
376
- *cgroup_info
367
377
- source .gitlab/gitlab-utils.sh
@@ -786,37 +796,3 @@ create_key:
786
796
expire_in : 13 mos
787
797
paths :
788
798
- pubkeys
789
-
790
- tracer-base-image-release :
791
- extends : .ci_authenticated_job
792
- stage : publish
793
- needs : [ build ]
794
- rules :
795
- - if : ' $POPULATE_CACHE'
796
- when : never
797
- - if : ' $CI_COMMIT_TAG =~ /^v1\..*/'
798
- when : on_success
799
- dependencies :
800
- - build
801
- script :
802
- - echo $GH_TOKEN|docker login ghcr.io/datadog -u uploader --password-stdin
803
- - mkdir -p ./tooling/ci/binaries/ && cp workspace/dd-java-agent/build/libs/*.jar ./tooling/ci/binaries/dd-java-agent.jar
804
- - docker buildx build -t ghcr.io/datadog/dd-trace-java/dd-trace-java:latest -f ./tooling/ci/Dockerfile .
805
- - docker push ghcr.io/datadog/dd-trace-java/dd-trace-java:latest
806
-
807
- tracer-base-image-snapshot :
808
- extends : .ci_authenticated_job
809
- stage : publish
810
- needs : [ build ]
811
- rules :
812
- - if : ' $POPULATE_CACHE'
813
- when : never
814
- - if : ' $CI_COMMIT_BRANCH == "master"'
815
- when : on_success
816
- dependencies :
817
- - build
818
- script :
819
- - echo $GH_TOKEN|docker login ghcr.io/datadog -u uploader --password-stdin
820
- - mkdir -p ./tooling/ci/binaries/ && cp workspace/dd-java-agent/build/libs/*.jar ./tooling/ci/binaries/dd-java-agent.jar
821
- - docker buildx build -t ghcr.io/datadog/dd-trace-java/dd-trace-java:latest_snapshot -f ./tooling/ci/Dockerfile .
822
- - docker push ghcr.io/datadog/dd-trace-java/dd-trace-java:latest_snapshot
0 commit comments