about summary refs log tree commit diff
path: root/src/ci/scripts
diff options
context:
space:
mode:
authorLaurențiu Nicola <lnicola@dend.ro>2024-10-17 10:04:49 +0300
committerLaurențiu Nicola <lnicola@dend.ro>2024-10-17 10:04:49 +0300
commit1b7cd2bed6efac6ecbe78e9006a9f60878d4a450 (patch)
treeddd444e2cdf64d53dc4d522ca38f1a5e631623a2 /src/ci/scripts
parentaff69ccfb2b7da9374dd47f13e626a980ce8338a (diff)
parentdd5127615ad626741a1116d022cf784637ac05df (diff)
downloadrust-1b7cd2bed6efac6ecbe78e9006a9f60878d4a450.tar.gz
rust-1b7cd2bed6efac6ecbe78e9006a9f60878d4a450.zip
Merge from rust-lang/rust
Diffstat (limited to 'src/ci/scripts')
-rwxr-xr-xsrc/ci/scripts/setup-upstream-remote.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/ci/scripts/setup-upstream-remote.sh b/src/ci/scripts/setup-upstream-remote.sh
new file mode 100755
index 00000000000..52b4c98a890
--- /dev/null
+++ b/src/ci/scripts/setup-upstream-remote.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+# In CI environments, bootstrap is forced to use the remote upstream based
+# on "git_repository" and "nightly_branch" values from src/stage0 file.
+# This script configures the remote as it may not exist by default.
+
+set -euo pipefail
+IFS=$'\n\t'
+
+ci_dir=$(cd $(dirname $0) && pwd)/..
+source "$ci_dir/shared.sh"
+
+git_repository=$(parse_stage0_file_by_key "git_repository")
+nightly_branch=$(parse_stage0_file_by_key "nightly_branch")
+
+# Configure "rust-lang/rust" upstream remote only when it's not origin.
+if [ -z "$(git config remote.origin.url | grep $git_repository)" ]; then
+    echo "Configuring https://github.com/$git_repository remote as upstream."
+    git remote add upstream "https://github.com/$git_repository"
+    REMOTE_NAME="upstream"
+else
+    REMOTE_NAME="origin"
+fi
+
+git fetch $REMOTE_NAME $nightly_branch