<assignedNode>build-vm</assignedNode>
<canRoam>false</canRoam>
<properties>
- <com.coravy.hudson.plugins.github.GithubProjectProperty>
+ <com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github">
<projectUrl>$GIT_URL/$GERRIT_PROJECT/example-org/releng/ciman</projectUrl>
+ <displayName/>
</com.coravy.hudson.plugins.github.GithubProjectProperty>
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<name>$sha1</name>
</hudson.plugins.git.BranchSpec>
</branches>
- <excludedUsers/>
- <buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
- <authorOrCommitter>false</authorOrCommitter>
- <wipeOutWorkspace>true</wipeOutWorkspace>
- <pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
- <relativeTargetDir/>
<reference/>
<gitConfigName/>
<gitConfigEmail/>
- <skipTag>true</skipTag>
- <scmName/>
- <useShallowClone>false</useShallowClone>
- <ignoreNotifyCommit>false</ignoreNotifyCommit>
<extensions>
+ <hudson.plugins.git.extensions.impl.BuildChooserSetting>
+ <buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
+ </hudson.plugins.git.extensions.impl.BuildChooserSetting>
<hudson.plugins.git.extensions.impl.SubmoduleOption>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>true</recursiveSubmodules>
<trackingSubmodules>false</trackingSubmodules>
+ <parentCredentials>false</parentCredentials>
<reference/>
<timeout>10</timeout>
</hudson.plugins.git.extensions.impl.SubmoduleOption>
<allowMembersOfWhitelistedOrgsAsAdmin>false</allowMembersOfWhitelistedOrgsAsAdmin>
<whitelist/>
<orgslist/>
+ <whiteListLabels/>
+ <blackListLabels/>
<cron/>
<triggerPhrase>^recheck$</triggerPhrase>
+ <skipBuildPhrase/>
<onlyTriggerPhrase>false</onlyTriggerPhrase>
<useGitHubHooks>true</useGitHubHooks>
<permitAll>true</permitAll>
# pipdeptree
</command>
</hudson.tasks.Shell>
+ <EnvInjectBuilder>
+ <info>
+ <propertiesContent>PYTHON_VERSION=python3</propertiesContent>
+ </info>
+ </EnvInjectBuilder>
<hudson.tasks.Shell>
<command>#!/bin/bash
# SPDX-License-Identifier: EPL-1.0
# DO NOT set -u as virtualenv's activate script has unbound variables
set -e -o pipefail
-virtualenv --quiet "/tmp/v/tox"
+virtualenv --quiet -p "$PYTHON_VERSION" "/tmp/v/tox"
# shellcheck source=/tmp/v/tox/bin/activate disable=SC1091
source "/tmp/v/tox/bin/activate"
pip install --quiet --upgrade pip
echo "----> Pip Dependency Tree"
pipdeptree
-
-#!/bin/bash
+</command>
+ </hudson.tasks.Shell>
+ <hudson.tasks.Shell>
+ <command>#!/bin/bash
# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2017 The Linux Foundation and others.
##############################################################################
echo "---> tox-run.sh"
+# shellcheck source=/tmp/v/tox/bin/activate disable=SC1091
+source "/tmp/v/tox/bin/activate"
+
# Ensure we fail the job if any steps fail.
# DO NOT set -u as virtualenv's activate script has unbound variables
set -e -o pipefail
ARCHIVE_TOX_DIR="$WORKSPACE/archives/tox"
mkdir -p "$ARCHIVE_TOX_DIR"
-
cd "$WORKSPACE/$TOX_DIR"
+if [ -d "/opt/pyenv" ]; then
+ echo "---> Setting up pyenv"
+ export PYENV_ROOT="/opt/pyenv"
+ export PATH="$PYENV_ROOT/bin:$PATH"
+fi
+
+set +e # Allow detox to fail so that we can collect the logs in the next step
if [ ! -z "$TOX_ENVS" ]; then
detox -e "$TOX_ENVS" | tee -a "$ARCHIVE_TOX_DIR/detox.log"
+ detox_status="${PIPESTATUS[0]}"
else
detox | tee -a "$ARCHIVE_TOX_DIR/detox.log"
+ detox_status="${PIPESTATUS[0]}"
fi
# Disable SC2116 as we want to echo a space separated list of TOX_ENVS
# shellcheck disable=SC2116
-for i in $(echo "${TOX_ENVS//,/ }"); do
- cp -r ".tox/$i/log" "$ARCHIVE_TOX_DIR/$i"
+for i in .tox/*/log; do
+ tox_env=$(echo $i | awk -F'/' '{print $2}')
+ cp -r "$i" "$ARCHIVE_TOX_DIR/$tox_env"
done
+set -e # Logs collected so re-enable
echo "Completed tox runs."
+
+test "$detox_status" -eq 0 || exit "$detox_status"
</command>
</hudson.tasks.Shell>
</builders>