1*523fa7a6SAndroid Build Coastguard Worker#!/bin/bash 2*523fa7a6SAndroid Build Coastguard Worker# Copyright (c) Meta Platforms, Inc. and affiliates. 3*523fa7a6SAndroid Build Coastguard Worker# All rights reserved. 4*523fa7a6SAndroid Build Coastguard Worker# 5*523fa7a6SAndroid Build Coastguard Worker# This source code is licensed under the BSD-style license found in the 6*523fa7a6SAndroid Build Coastguard Worker# LICENSE file in the root directory of this source tree. 7*523fa7a6SAndroid Build Coastguard Worker 8*523fa7a6SAndroid Build Coastguard Workeras_ci_user() { 9*523fa7a6SAndroid Build Coastguard Worker # NB: unsetting the environment variables works around a conda bug 10*523fa7a6SAndroid Build Coastguard Worker # https://github.com/conda/conda/issues/6576 11*523fa7a6SAndroid Build Coastguard Worker # NB: Pass on PATH and LD_LIBRARY_PATH to sudo invocation 12*523fa7a6SAndroid Build Coastguard Worker # NB: This must be run from a directory that the user has access to 13*523fa7a6SAndroid Build Coastguard Worker sudo -E -H -u ci-user env -u SUDO_UID -u SUDO_GID -u SUDO_COMMAND -u SUDO_USER env "PATH=${PATH}" "LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}" "$@" 14*523fa7a6SAndroid Build Coastguard Worker} 15*523fa7a6SAndroid Build Coastguard Worker 16*523fa7a6SAndroid Build Coastguard Workerconda_install() { 17*523fa7a6SAndroid Build Coastguard Worker # Ensure that the install command don't upgrade/downgrade Python 18*523fa7a6SAndroid Build Coastguard Worker # This should be called as 19*523fa7a6SAndroid Build Coastguard Worker # conda_install pkg1 pkg2 ... [-c channel] 20*523fa7a6SAndroid Build Coastguard Worker as_ci_user conda install -q -n "py_${PYTHON_VERSION}" -y python="${PYTHON_VERSION}" "$@" 21*523fa7a6SAndroid Build Coastguard Worker} 22*523fa7a6SAndroid Build Coastguard Worker 23*523fa7a6SAndroid Build Coastguard Workerconda_run() { 24*523fa7a6SAndroid Build Coastguard Worker as_ci_user conda run -n "py_${PYTHON_VERSION}" --no-capture-output "$@" 25*523fa7a6SAndroid Build Coastguard Worker} 26*523fa7a6SAndroid Build Coastguard Worker 27*523fa7a6SAndroid Build Coastguard Workerpip_install() { 28*523fa7a6SAndroid Build Coastguard Worker as_ci_user conda run -n "py_${PYTHON_VERSION}" pip install --progress-bar off "$@" 29*523fa7a6SAndroid Build Coastguard Worker} 30