summaryrefslogtreecommitdiffstats
path: root/.gitlab/ci/env.sh
blob: aa709a892e14b4f84b9abd0914abc6da433a9bca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
quietly() {
  readonly log="/tmp/quietly-$RANDOM.log"
  if ! "$@" >"$log" 2>&1; then
    ret=$?
    cat "$log"
    rm -f "$log"
    exit $ret
  fi
  rm -f "$log"
}

if test -n "$CMAKE_CI_IN_SYMLINK_TREE"; then
  mkdir -p "$CI_PROJECT_DIR/real_work/work/build"
  ln -s real_work/work "$CI_PROJECT_DIR/work"
  git worktree prune
  git worktree add "$CI_PROJECT_DIR/work/cmake" HEAD

  # Assert that the hash matches.
  test "$(git -C "$CI_PROJECT_DIR/work/cmake" rev-parse HEAD)" = "$(git -C "$CI_PROJECT_DIR" rev-parse HEAD)"
fi

if test -r ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"; then
  source ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"
fi