summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorYi Chou <yich@google.com>2023-04-20 15:34:39 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-21 02:46:27 +0000
commit633ca91c4a0c91bba4e82b030147200d6f23a7a4 (patch)
tree79e987e775d7b092928c1da39fb865e8eb74c182 /.gitlab-ci.yml
parenta57f4cdac8dc69e2c9ae0ebfdb76b4ed10d2dd21 (diff)
downloadchrome-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.yml33
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