diff options
author | Yi Chou <yich@google.com> | 2023-04-20 15:34:39 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-04-21 02:46:27 +0000 |
commit | 633ca91c4a0c91bba4e82b030147200d6f23a7a4 (patch) | |
tree | 79e987e775d7b092928c1da39fb865e8eb74c182 /.gitlab-ci.yml | |
parent | a57f4cdac8dc69e2c9ae0ebfdb76b4ed10d2dd21 (diff) | |
download | chrome-ec-633ca91c4a0c91bba4e82b030147200d6f23a7a4.tar.gz |
gitlab: Use repo to clone boringssl
Since we are clone the repo with "repo" command, we don't need to clone
it again.
BRANCH=None
BUG=b:248508087, b:273639386
TEST=yaml validator, run repo_clone_at_data locally
Change-Id: I08e8413382b8151bebecc90362fb7f31342c01e8
Signed-off-by: Yi Chou <yich@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4453523
Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 436b6cdf30..bc8b4c3f37 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,6 +39,7 @@ before_script: - export EC_DIR="${CI_PROJECT_DIR}/ec_dir" - export MODULES_DIR="$CI_PROJECT_DIR/modules" - export ZEPHYR_BASE="${CI_PROJECT_DIR}/zephyr/main" + - export REPO_BASE="${CI_PROJECT_DIR}/repo" - git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git - export PATH="${CI_PROJECT_DIR}/depot_tools:$PATH" - git config --global --add safe.directory '*' @@ -70,18 +71,38 @@ before_script: done ; git checkout -d "${rev}" ; } - - "boringssl_commit() { - repo init -u https://chromium.googlesource.com/chromiumos/manifest -b main > /dev/null ; - repo sync external/gob/boringssl/boringssl > /dev/null ; - repo info external/gob/boringssl/boringssl | grep -Po '(?<=Manifest revision: )\\w*' ; - }" + - repo_clone_at_data() { + local repo="$1" ; + local branch="$2" ; + local path="$3" ; + local date="$4" ; + + mkdir -p "${REPO_BASE}" ; + cd "${REPO_BASE}" ; + repo init -u https://chromium.googlesource.com/chromiumos/manifest -b main ; + repo sync "${repo}" ; + + mkdir -p "${path}" ; + cp -rTLf "${repo}" "${path}" ; + + cd "${path}" ; + rev="$(git rev-list -n 1 --before="${date}" "${branch}")" ; + depth=1 ; + while [ -z "${rev}" ] ; do + depth="$(( ${depth} + 100 ))" ; + git fetch --depth="${depth}" ; + rev="$(git rev-list -n 1 --before="${date}" "${branch}")" ; + done ; + git checkout -d "${rev}" ; + rev="$(git rev-list -n 1 --before="${date}" "${branch}")" ; + } - ec_commit_date="$(cd ${EC_DIR} ; git log -1 HEAD --format=%cd --date=iso)" - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr" "main" "${ZEPHYR_BASE}" "${ec_commit_date}" - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr/cmsis" "chromeos-main" "${MODULES_DIR}/cmsis" "${ec_commit_date}" - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr/hal_stm32" "chromeos-main" "${MODULES_DIR}/hal_stm32" "${ec_commit_date}" - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr/nanopb" "main" "${MODULES_DIR}/nanopb" "${ec_commit_date}" - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/cryptoc" "main" "${MODULES_DIR}/cryptoc" "${ec_commit_date}" - - checkout_at_date "https://chromium.googlesource.com/external/gob/boringssl/boringssl" "$(boringssl_commit)" "${MODULES_DIR}/boringssl" "${ec_commit_date}" + - repo_clone_at_data "src/third_party/boringssl" "m/main" "${MODULES_DIR}/boringssl" "${ec_commit_date}" # Add a symlink so the ec appears in modules directory (hack to make zmake work) - ln -s "${EC_DIR}" "${MODULES_DIR}/ec" # Install Python and packages |