diff options
author | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-05-06 15:07:56 +0300 |
---|---|---|
committer | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-05-06 16:31:00 +0300 |
commit | 4d30542eb959976afa836db66ef93975641e1ce9 (patch) | |
tree | fbc8dd0bc06d100d7a86406cc60597afdd7e7075 | |
parent | 8b5dd02325ef409ef6c3f01b9fd6db448ad250e2 (diff) |
-rw-r--r-- | .gitlab-ci.yml | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c2cdb9c9..569fea9b6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,6 +49,11 @@ include: variables: BUNDLE_PATH: "${CI_PROJECT_DIR}/.ruby" GOPATH: "${CI_PROJECT_DIR}/.go" + # We use symlinks instead of hardlinks to install Git and also strip + # binaries of their symbol tables. These options significantly reduce the + # size of the installed Git distribution, which is required so that we + # don't bust the artifact size limits. + GIT_APPEND_BUILD_OPTIONS: "INSTALL_SYMLINKS=YesPlease INSTALL_STRIP=-s" artifacts: expire_in: 1 hour paths: @@ -63,22 +68,20 @@ include: - _build/tools exclude: # Exclude Git's tests, which are almost 40MB in size. - - _build/deps/git-*/t + - _build/deps/git-*/t/** reports: dotenv: build.env script: - go version # Build all dependencies required for our testing infrastructure such that - # downstream jobs don't have to rebuild anything. Note that we're building - # Git with `INSTALL_SYMLINKS=YesPlease INSTALL_STRIP=-s` to significantly - # reduce the size of the installed Git distribution. - - make -j$(nproc) build prepare-tests $(pwd)/_build/tools/gocover-cobertura $(pwd)/_build/tools/protoc WITH_BUNDLED_GIT=$(test "${GIT_VERSION}" = "default" && echo "YesPlease") GIT_APPEND_BUILD_OPTIONS="INSTALL_SYMLINKS=YesPlease INSTALL_STRIP=-s" + # downstream jobs don't have to rebuild anything. + - make -j$(nproc) build prepare-tests $(pwd)/_build/tools/gocover-cobertura $(pwd)/_build/tools/protoc WITH_BUNDLED_GIT=$(test "${GIT_VERSION}" = "default" && echo "YesPlease") - _support/test-boot . $(test "${GIT_VERSION}" = "default" && echo "--bundled-git") after_script: | # Write all relevant variables into the `build.env` file. These files are # then propagated to dependents so that they don't have to manually set # those variables again. - for variable in GO_VERSION GIT_VERSION RUBY_VERSION BUNDLE_PATH GOPATH + for variable in GO_VERSION GIT_VERSION GIT_APPEND_BUILD_OPTIONS RUBY_VERSION BUNDLE_PATH GOPATH do echo "${variable}=${!variable}" done >build.env |