forked from mirrors/gecko-dev
		
	 23226da5f7
			
		
	
	
		23226da5f7
		
	
	
	
	
		
			
			Updates all build-related jobs (`artifact-build`, `build` and `instrumented-build`) tasks to explicitly set `MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system`. This allows them to consume `psutil` (if installed on the system) without needing to hit PyPI.org. Modifies `build-l10n.sh` and `build-linux.sh` to no longer explicitly fetch `psutil` from PyPI (`./mach python --virtualenv psutil`), since that is replaced by Mach's "native package source" behaviour. Differential Revision: https://phabricator.services.mozilla.com/D140257
		
			
				
	
	
		
			125 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #! /bin/bash -vex
 | |
| 
 | |
| set -x -e
 | |
| 
 | |
| echo "running as" $(id)
 | |
| 
 | |
| ####
 | |
| # Taskcluster friendly wrapper for performing fx desktop builds via mozharness.
 | |
| ####
 | |
| 
 | |
| # Inputs, with defaults
 | |
| 
 | |
| : MOZHARNESS_SCRIPT             ${MOZHARNESS_SCRIPT}
 | |
| : MOZHARNESS_CONFIG             ${MOZHARNESS_CONFIG}
 | |
| : MOZHARNESS_CONFIG_PATHS       ${MOZHARNESS_CONFIG_PATHS}
 | |
| : MOZHARNESS_ACTIONS            ${MOZHARNESS_ACTIONS}
 | |
| : MOZHARNESS_OPTIONS            ${MOZHARNESS_OPTIONS}
 | |
| 
 | |
| : TOOLTOOL_CACHE                ${TOOLTOOL_CACHE:=/builds/worker/tooltool-cache}
 | |
| 
 | |
| : MOZ_SCM_LEVEL                 ${MOZ_SCM_LEVEL:=1}
 | |
| 
 | |
| : NEED_XVFB                     ${NEED_XVFB:=false}
 | |
| 
 | |
| : MH_CUSTOM_BUILD_VARIANT_CFG   ${MH_CUSTOM_BUILD_VARIANT_CFG}
 | |
| : MH_BRANCH                     ${MH_BRANCH:=mozilla-central}
 | |
| : MH_BUILD_POOL                 ${MH_BUILD_POOL:=staging}
 | |
| 
 | |
| : WORKSPACE                     ${WORKSPACE:=/builds/worker/workspace}
 | |
| : MOZ_OBJDIR                    ${MOZ_OBJDIR:=$WORKSPACE/obj-build}
 | |
| 
 | |
| set -v
 | |
| 
 | |
| fail() {
 | |
|     echo # make sure error message is on a new line
 | |
|     echo "[build-linux.sh:error]" "${@}"
 | |
|     exit 1
 | |
| }
 | |
| 
 | |
| export MOZ_CRASHREPORTER_NO_REPORT=1
 | |
| export TINDERBOX_OUTPUT=1
 | |
| 
 | |
| # use "simple" package names so that they can be hard-coded in the task's
 | |
| # extras.locations
 | |
| export MOZ_SIMPLE_PACKAGE_NAME=target
 | |
| 
 | |
| # test required parameters are supplied
 | |
| if [[ -z ${MOZHARNESS_SCRIPT} ]]; then fail "MOZHARNESS_SCRIPT is not set"; fi
 | |
| if [[ -z "${MOZHARNESS_CONFIG}" && -z "${EXTRA_MOZHARNESS_CONFIG}" ]]; then fail "MOZHARNESS_CONFIG or EXTRA_MOZHARNESS_CONFIG is not set"; fi
 | |
| 
 | |
| # run XVfb in the background, if necessary
 | |
| if $NEED_XVFB; then
 | |
|     . /builds/worker/scripts/xvfb.sh
 | |
| 
 | |
|     cleanup() {
 | |
|         local rv=$?
 | |
|         cleanup_xvfb
 | |
|         exit $rv
 | |
|     }
 | |
|     trap cleanup EXIT INT
 | |
| 
 | |
|     start_xvfb '1024x768x24' 2
 | |
| fi
 | |
| 
 | |
| # set up mozharness configuration, via command line, env, etc.
 | |
| 
 | |
| debug_flag=""
 | |
| if [ 0$DEBUG -ne 0 ]; then
 | |
|   debug_flag='--debug'
 | |
| fi
 | |
| 
 | |
| custom_build_variant_cfg_flag=""
 | |
| if [ -n "${MH_CUSTOM_BUILD_VARIANT_CFG}" ]; then
 | |
|     custom_build_variant_cfg_flag="--custom-build-variant-cfg=${MH_CUSTOM_BUILD_VARIANT_CFG}"
 | |
| fi
 | |
| 
 | |
| # $TOOLTOOL_CACHE bypasses mozharness completely and is read by tooltool_wrapper.sh to set the
 | |
| # cache.  However, only some mozharness scripts use tooltool_wrapper.sh, so this may not be
 | |
| # entirely effective.
 | |
| export TOOLTOOL_CACHE
 | |
| 
 | |
| export MOZ_OBJDIR
 | |
| 
 | |
| config_path_cmds=""
 | |
| for path in ${MOZHARNESS_CONFIG_PATHS}; do
 | |
|     config_path_cmds="${config_path_cmds} --extra-config-path ${GECKO_PATH}/${path}"
 | |
| done
 | |
| 
 | |
| # support multiple, space delimited, config files
 | |
| config_cmds=""
 | |
| for cfg in $MOZHARNESS_CONFIG; do
 | |
|   config_cmds="${config_cmds} --config ${cfg}"
 | |
| done
 | |
| 
 | |
| # if MOZHARNESS_ACTIONS is given, only run those actions (completely overriding default_actions
 | |
| # in the mozharness configuration)
 | |
| if [ -n "$MOZHARNESS_ACTIONS" ]; then
 | |
|     actions=""
 | |
|     for action in $MOZHARNESS_ACTIONS; do
 | |
|         actions="$actions --$action"
 | |
|     done
 | |
| fi
 | |
| 
 | |
| # if MOZHARNESS_OPTIONS is given, append them to mozharness command line run
 | |
| if [ -n "$MOZHARNESS_OPTIONS" ]; then
 | |
|     options=""
 | |
|     for option in $MOZHARNESS_OPTIONS; do
 | |
|         options="$options --$option"
 | |
|     done
 | |
| fi
 | |
| 
 | |
| cd /builds/worker
 | |
| 
 | |
| $GECKO_PATH/mach python -- \
 | |
|   $GECKO_PATH/testing/${MOZHARNESS_SCRIPT} \
 | |
|   ${config_path_cmds} \
 | |
|   ${config_cmds} \
 | |
|   $debug_flag \
 | |
|   $custom_build_variant_cfg_flag \
 | |
|   $actions \
 | |
|   $options \
 | |
|   --log-level=debug \
 | |
|   --work-dir=$WORKSPACE \
 | |
|   --branch=${MH_BRANCH} \
 | |
|   --build-pool=${MH_BUILD_POOL}
 |