<?xml version="1.0" encoding="UTF-8"?><project>
  <actions/>
  <description>&lt;!-- Managed by Jenkins Job Builder --&gt;</description>
  <keepDependencies>false</keepDependencies>
  <disabled>false</disabled>
  <displayName>TCWG Bisect tcwg_bootstrap_check/master-arm-check_bootstrap_lto</displayName>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <concurrentBuild>false</concurrentBuild>
  <customWorkspace>workspace/tcwg_gnu_$EXECUTOR_NUMBER</customWorkspace>
  <assignedNode>tcwg-build &amp;&amp; tcwg-armv8_32 &amp;&amp; tcwg-postcommit &amp;&amp; jenkins-01</assignedNode>
  <canRoam>false</canRoam>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <permission>hudson.model.Item.Read:anonymous</permission>
      <permission>hudson.model.Item.ExtendedRead:anonymous</permission>
      <permission>hudson.model.Item.Build:everyone-flat</permission>
      <permission>hudson.model.Item.Cancel:everyone-flat</permission>
    </hudson.security.AuthorizationMatrixProperty>
    <jenkins.model.BuildDiscarderProperty>
      <strategy class="hudson.tasks.LogRotator">
        <daysToKeep>20</daysToKeep>
        <numToKeep>-1</numToKeep>
        <artifactDaysToKeep>-1</artifactDaysToKeep>
        <artifactNumToKeep>-1</artifactNumToKeep>
      </strategy>
    </jenkins.model.BuildDiscarderProperty>
    <hudson.plugins.buildblocker.BuildBlockerProperty>
      <useBuildBlocker>true</useBuildBlocker>
      <blockingJobs>tcwg_bootstrap_check--.*-bisect</blockingJobs>
      <blockLevel>GLOBAL</blockLevel>
      <scanQueueFor>BUILDABLE</scanQueueFor>
    </hudson.plugins.buildblocker.BuildBlockerProperty>
    <hudson.model.ParametersDefinitionProperty>
      <parameterDefinitions>
        <hudson.model.StringParameterDefinition>
          <name>current_project</name>
          <description>Project to bisect</description>
          <defaultValue/>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>bad_git</name>
          <description>Bad git_url#branch/SHA1</description>
          <defaultValue/>
        </hudson.model.StringParameterDefinition>
        <hudson.model.FileParameterDefinition>
          <name>jenkins-scripts/replay_log</name>
          <description>Replay part of bisect using provided bisect log</description>
        </hudson.model.FileParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>extra_build_params</name>
          <description>Extra parameters to pass to the build script; can be used to override settings extracted from ci_project/ci_config</description>
          <defaultValue/>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>distro</name>
          <description>Distro image to use</description>
          <defaultValue>default</defaultValue>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>scripts_branch</name>
          <description>Scripts revision to use</description>
          <defaultValue>master</defaultValue>
        </hudson.model.StringParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
  </properties>
  <scm class="hudson.plugins.git.GitSCM">
    <configVersion>2</configVersion>
    <userRemoteConfigs>
      <hudson.plugins.git.UserRemoteConfig>
        <name>origin</name>
        <refspec>+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*</refspec>
        <url>https://gitlab.com/LinaroLtd/tcwg/jenkins-scripts.git</url>
      </hudson.plugins.git.UserRemoteConfig>
    </userRemoteConfigs>
    <branches>
      <hudson.plugins.git.BranchSpec>
        <name>$scripts_branch</name>
      </hudson.plugins.git.BranchSpec>
    </branches>
    <disableSubmodules>false</disableSubmodules>
    <recursiveSubmodules>false</recursiveSubmodules>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <remotePoll>false</remotePoll>
    <gitTool>Default</gitTool>
    <submoduleCfg class="list"/>
    <reference>/home/tcwg-buildslave/snapshots-ref/jenkins-scripts.git</reference>
    <gitConfigName/>
    <gitConfigEmail/>
    <extensions>
      <hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
        <relativeTargetDir>jenkins-scripts</relativeTargetDir>
      </hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
      <hudson.plugins.git.extensions.impl.CleanBeforeCheckout/>
      <hudson.plugins.git.extensions.impl.CloneOption>
        <shallow>false</shallow>
        <depth>1</depth>
        <reference>/home/tcwg-buildslave/snapshots-ref/jenkins-scripts.git</reference>
      </hudson.plugins.git.extensions.impl.CloneOption>
      <hudson.plugins.git.extensions.impl.PruneStaleBranch/>
    </extensions>
  </scm>
  <builders>
    <hudson.tasks.Shell>
      <command>#!/bin/bash
set -ex
# Delete artifacts now to avoid re-using stale artifacts if
# below docker-run.sh fails to start up a container.
rm -rf artifacts/
mkdir -p artifacts/jenkins
build_name="#$BUILD_NUMBER-$current_project"
echo "$build_name" &gt; artifacts/jenkins/build-name

cat &gt;&gt; artifacts/jenkins/run-build.env &lt;&lt;EOF
build_name="$build_name"
EOF

./jenkins-scripts/docker-run.sh \
  --distro $distro \
  --arch armhf \
  --node $NODE_NAME \
  --node_labels "$NODE_LABELS" \
  -- \
  ./jenkins-scripts/rr/round-robin-bisect.sh \
  %%rel_artifacts artifacts \
  --BUILD_URL "$BUILD_URL" \
  --current_project "$current_project" \
  --bad_git "$bad_git" \
  --replay_log "$(pwd)/jenkins-scripts/replay_log" \
  --build_script "./jenkins-scripts/tcwg_gnu-build.sh" \
  -- \
  ==rr[ci_project] 'tcwg_bootstrap_check' \
  ==rr[ci_config] 'master-arm-check_bootstrap_lto' \
  $extra_build_params \
  --scripts_branch "$scripts_branch" &amp;
res=0 &amp;&amp; wait $! || res=$?

if [ $res != 0 ]; then
  echo $res &gt; artifacts/failed
fi
</command>
      <unstableReturn>125</unstableReturn>
    </hudson.tasks.Shell>
    <org.jenkinsci.plugins.buildnameupdater.BuildNameUpdater>
      <buildName>artifacts/jenkins/build-name</buildName>
      <macroTemplate>#${BUILD_NUMBER}</macroTemplate>
      <fromFile>true</fromFile>
      <fromMacro>false</fromMacro>
      <macroFirst>false</macroFirst>
    </org.jenkinsci.plugins.buildnameupdater.BuildNameUpdater>
    <org.jenkinsci.plugins.conditionalbuildstep.ConditionalBuilder>
      <conditionalbuilders>
        <hudson.tasks.Shell>
          <command>#!/bin/bash
source artifacts/jenkins/run-build.env
set -ex

for i in artifacts/trigger-build-* artifacts/trigger-bisect; do
  if [ -f $i ]; then
    echo "distro=$distro" &gt;&gt; $i
    echo "scripts_branch=$scripts_branch" &gt;&gt; $i
  fi
done

trap "" EXIT
</command>
        </hudson.tasks.Shell>
        <hudson.plugins.parameterizedtrigger.TriggerBuilder>
          <configs>
            <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
              <configs class="java.util.Collections$EmptyList"/>
              <configFactories>
                <hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
                  <filePattern>artifacts/trigger-build-*</filePattern>
                  <noFilesFoundAction>SKIP</noFilesFoundAction>
                </hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
              </configFactories>
              <projects>tcwg_bootstrap_check--master-arm-check_bootstrap_lto-build</projects>
              <condition>ALWAYS</condition>
              <triggerWithNoParameters>false</triggerWithNoParameters>
              <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
            </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
            <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
              <configs>
                <hudson.plugins.parameterizedtrigger.FileBuildParameters>
                  <propertiesFile>artifacts/trigger-bisect</propertiesFile>
                  <failTriggerOnMissing>true</failTriggerOnMissing>
                </hudson.plugins.parameterizedtrigger.FileBuildParameters>
              </configs>
              <projects>tcwg_bootstrap_check--master-arm-check_bootstrap_lto-bisect</projects>
              <condition>ALWAYS</condition>
              <triggerWithNoParameters>false</triggerWithNoParameters>
              <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
            </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
          </configs>
        </hudson.plugins.parameterizedtrigger.TriggerBuilder>
      </conditionalbuilders>
      <runCondition class="org.jenkins_ci.plugins.run_condition.core.StatusCondition">
        <worstResult>
          <name>SUCCESS</name>
          <ordinal>0</ordinal>
          <color>BLUE</color>
          <completeBuild>true</completeBuild>
        </worstResult>
        <bestResult>
          <name>SUCCESS</name>
          <ordinal>0</ordinal>
          <color>BLUE</color>
          <completeBuild>true</completeBuild>
        </bestResult>
      </runCondition>
      <runner class="org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"/>
    </org.jenkinsci.plugins.conditionalbuildstep.ConditionalBuilder>
    <org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder>
      <condition class="org.jenkins_ci.plugins.run_condition.core.StatusCondition">
        <worstResult>
          <name>SUCCESS</name>
          <ordinal>0</ordinal>
          <color>BLUE</color>
          <completeBuild>true</completeBuild>
        </worstResult>
        <bestResult>
          <name>SUCCESS</name>
          <ordinal>0</ordinal>
          <color>BLUE</color>
          <completeBuild>true</completeBuild>
        </bestResult>
      </condition>
      <runner class="org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"/>
      <buildStep class="hudson.tasks.Shell">
        <command>#!/bin/bash
set -ex

if [ -f artifacts/failed ]; then
  # Mark failed build as FAILURE; no further steps will run.
  exit $(cat artifacts/failed)
fi
</command>
      </buildStep>
    </org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder>
  </builders>
  <publishers>
    <hudson.tasks.ArtifactArchiver>
      <artifacts>artifacts/**</artifacts>
      <allowEmptyArchive>false</allowEmptyArchive>
      <onlyIfSuccessful>false</onlyIfSuccessful>
      <fingerprint>false</fingerprint>
      <defaultExcludes>true</defaultExcludes>
      <caseSensitive>true</caseSensitive>
      <latestOnly>false</latestOnly>
    </hudson.tasks.ArtifactArchiver>
    <hudson.plugins.emailext.ExtendedEmailPublisher>
      <recipientList>maxim.kuvyrkov@linaro.org, laurent.alfonsi@linaro.org
</recipientList>
      <configuredTriggers>
        <hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
          <email>
            <recipientList/>
            <subject>$PROJECT_DEFAULT_SUBJECT</subject>
            <body>$PROJECT_DEFAULT_CONTENT</body>
            <sendToDevelopers>false</sendToDevelopers>
            <sendToRequester>false</sendToRequester>
            <includeCulprits>false</includeCulprits>
            <sendToRecipientList>true</sendToRecipientList>
          </email>
        </hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
        <hudson.plugins.emailext.plugins.trigger.FailureTrigger>
          <email>
            <recipientList/>
            <subject>$PROJECT_DEFAULT_SUBJECT</subject>
            <body>$PROJECT_DEFAULT_CONTENT</body>
            <sendToDevelopers>false</sendToDevelopers>
            <sendToRequester>false</sendToRequester>
            <includeCulprits>false</includeCulprits>
            <sendToRecipientList>true</sendToRecipientList>
          </email>
        </hudson.plugins.emailext.plugins.trigger.FailureTrigger>
      </configuredTriggers>
      <contentType>default</contentType>
      <defaultSubject>$DEFAULT_SUBJECT</defaultSubject>
      <defaultContent>$DEFAULT_CONTENT</defaultContent>
      <attachmentsPattern/>
      <presendScript/>
      <postsendScript/>
      <attachBuildLog>false</attachBuildLog>
      <compressBuildLog>false</compressBuildLog>
      <saveOutput>false</saveOutput>
      <disabled>false</disabled>
      <replyTo>$DEFAULT_REPLYTO</replyTo>
    </hudson.plugins.emailext.ExtendedEmailPublisher>
  </publishers>
  <buildWrappers>
    <hudson.plugins.build__timeout.BuildTimeoutWrapper>
      <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy">
        <timeoutMinutes>6000</timeoutMinutes>
      </strategy>
      <operationList>
        <hudson.plugins.build__timeout.operations.AbortOperation/>
      </operationList>
    </hudson.plugins.build__timeout.BuildTimeoutWrapper>
    <hudson.plugins.timestamper.TimestamperBuildWrapper/>
    <com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper>
      <credentialIds>
        <string>e0958a95-204f-4c14-a66c-5e2be6c5d50a</string>
        <string>tcwg-buildslave-20220725</string>
        <ignoreMissing>false</ignoreMissing>
      </credentialIds>
    </com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper>
    <org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
      <bindings>
        <org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
          <variable>TCWG_JIRA_TOKEN</variable>
          <credentialsId>TCWG_JIRA_TOKEN</credentialsId>
        </org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
        <org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
          <variable>TCWG_PW_TOKEN</variable>
          <credentialsId>TCWG_PW_TOKEN</credentialsId>
        </org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
        <org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
          <variable>TCWG_FORGEJO_TOKEN</variable>
          <credentialsId>TCWG_FORGEJO_TOKEN</credentialsId>
        </org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
      </bindings>
    </org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
  </buildWrappers>
</project>