<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description>&lt;!-- Managed by Jenkins Job Builder --&gt;</description>
  <displayName>TCWG Bisect tcwg_bmk-code_size-cpu2017fast--llvm-aarch64-master-Os</displayName>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <inheritanceStrategy class="org.jenkinsci.plugins.matrixauth.inheritance.InheritParentStrategy"/>
      <permission>hudson.model.Item.Build:everyone-flat</permission>
      <permission>hudson.model.Item.Cancel:everyone-flat</permission>
      <permission>hudson.model.Item.ExtendedRead:anonymous</permission>
      <permission>hudson.model.Item.Read:anonymous</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 plugin="build-blocker-plugin@1.7.9">
      <useBuildBlocker>true</useBuildBlocker>
      <blockLevel>GLOBAL</blockLevel>
      <scanQueueFor>BUILDABLE</scanQueueFor>
      <blockingJobs>tcwg_bmk-code_size-cpu2017fast--llvm-.*-bisect</blockingJobs>
    </hudson.plugins.buildblocker.BuildBlockerProperty>
    <hudson.model.ParametersDefinitionProperty>
      <parameterDefinitions>
        <hudson.model.StringParameterDefinition>
          <name>current_project</name>
          <description>Project to bisect</description>
          <defaultValue></defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>bad_git</name>
          <description>Bad git_url#branch/SHA1</description>
          <defaultValue></defaultValue>
          <trim>false</trim>
        </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></defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>distro</name>
          <description>Distro image to use</description>
          <defaultValue>default</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>scripts_branch</name>
          <description>Scripts revision to use</description>
          <defaultValue>master</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>bmk_branch</name>
          <description>Benchmark scripts revision to use</description>
          <defaultValue>master</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
  </properties>
  <scm class="hudson.plugins.git.GitSCM" plugin="git@5.2.1">
    <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>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <gitTool>Default</gitTool>
    <submoduleCfg class="list"/>
    <extensions>
      <hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
        <relativeTargetDir>jenkins-scripts</relativeTargetDir>
      </hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
      <hudson.plugins.git.extensions.impl.CleanBeforeCheckout>
        <deleteUntrackedNestedRepositories>false</deleteUntrackedNestedRepositories>
      </hudson.plugins.git.extensions.impl.CleanBeforeCheckout>
      <hudson.plugins.git.extensions.impl.CloneOption>
        <shallow>false</shallow>
        <noTags>false</noTags>
        <reference>/home/tcwg-buildslave/snapshots-ref/jenkins-scripts.git</reference>
        <depth>1</depth>
        <honorRefspec>false</honorRefspec>
      </hudson.plugins.git.extensions.impl.CloneOption>
      <hudson.plugins.git.extensions.impl.PruneStaleBranch/>
    </extensions>
  </scm>
  <assignedNode>tcwg-build_bmk &amp;&amp; tcwg-armv8_64</assignedNode>
  <canRoam>false</canRoam>
  <disabled>true</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <customWorkspace>workspace/tcwg_bmk_$EXECUTOR_NUMBER</customWorkspace>
  <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=&quot;#$BUILD_NUMBER-$current_project&quot;
echo &quot;$build_name&quot; &gt; artifacts/jenkins/build-name

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

./jenkins-scripts/docker-run.sh \
  --distro $distro \
  --ssh_info true \
  --arch arm64 \
  --node $NODE_NAME \
  --node_labels &quot;$NODE_LABELS&quot; \
  -- \
  ./jenkins-scripts/rr/round-robin-bisect.sh \
  %%rel_artifacts artifacts \
  --BUILD_URL &quot;$BUILD_URL&quot; \
  --current_project &quot;$current_project&quot; \
  --bad_git &quot;$bad_git&quot; \
  --replay_log &quot;$(pwd)/jenkins-scripts/replay_log&quot; \
  --build_script &quot;./jenkins-scripts/tcwg_bmk-build.sh&quot; \
  -- \
  ==rr[ci_project] &apos;tcwg_bmk-code_size-cpu2017fast&apos; \
  ==rr[ci_config] &apos;llvm-aarch64-master-Os&apos; \
  $extra_build_params \
  --bmk_branch &quot;$bmk_branch&quot; \
  --scripts_branch &quot;$scripts_branch&quot; &amp;
res=0 &amp;&amp; wait $! || res=$?

if [ $res != 0 ]; then
  echo $res &gt; artifacts/failed
fi
</command>
      <configuredLocalRules/>
      <unstableReturn>125</unstableReturn>
    </hudson.tasks.Shell>
    <org.jenkinsci.plugins.buildnameupdater.BuildNameUpdater plugin="build-name-setter@2.4.1">
      <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 plugin="conditional-buildstep@1.4.3">
      <runner class="org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail" plugin="run-condition@1.7"/>
      <runCondition class="org.jenkins_ci.plugins.run_condition.core.StatusCondition" plugin="run-condition@1.7">
        <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>
      <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 &quot;distro=$distro&quot; &gt;&gt; $i
    echo &quot;scripts_branch=$scripts_branch&quot; &gt;&gt; $i
    echo &quot;bmk_branch=$bmk_branch&quot; &gt;&gt; $i
  fi
done

trap &quot;&quot; EXIT
</command>
          <configuredLocalRules/>
        </hudson.tasks.Shell>
        <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@787.v665fcf2a_830b_">
          <configs>
            <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
              <configs class="empty-list"/>
              <configFactories>
                <hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
                  <filePattern>artifacts/trigger-build-*</filePattern>
                  <noFilesFoundAction>SKIP</noFilesFoundAction>
                </hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
              </configFactories>
              <projects>tcwg_bmk-code_size-cpu2017fast--llvm-aarch64-master-Os-build</projects>
              <condition>ALWAYS</condition>
              <triggerWithNoParameters>false</triggerWithNoParameters>
              <triggerFromChildProjects>false</triggerFromChildProjects>
              <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
            </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
            <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
              <configs>
                <hudson.plugins.parameterizedtrigger.FileBuildParameters>
                  <propertiesFile>artifacts/trigger-bisect</propertiesFile>
                  <failTriggerOnMissing>true</failTriggerOnMissing>
                  <textParamValueOnNewLine>false</textParamValueOnNewLine>
                  <useMatrixChild>false</useMatrixChild>
                  <onlyExactRuns>false</onlyExactRuns>
                </hudson.plugins.parameterizedtrigger.FileBuildParameters>
              </configs>
              <projects>tcwg_bmk-code_size-cpu2017fast--llvm-aarch64-master-Os-bisect</projects>
              <condition>ALWAYS</condition>
              <triggerWithNoParameters>false</triggerWithNoParameters>
              <triggerFromChildProjects>false</triggerFromChildProjects>
              <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
            </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
          </configs>
        </hudson.plugins.parameterizedtrigger.TriggerBuilder>
      </conditionalbuilders>
    </org.jenkinsci.plugins.conditionalbuildstep.ConditionalBuilder>
    <org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder plugin="conditional-buildstep@1.4.3">
      <condition class="org.jenkins_ci.plugins.run_condition.core.StatusCondition" plugin="run-condition@1.7">
        <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>
      <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>
        <configuredLocalRules/>
      </buildStep>
      <runner class="org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail" plugin="run-condition@1.7"/>
    </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>
      <followSymlinks>true</followSymlinks>
    </hudson.tasks.ArtifactArchiver>
    <hudson.plugins.emailext.ExtendedEmailPublisher plugin="email-ext@2.104">
      <recipientList>maxim.kuvyrkov@linaro.org, laurent.alfonsi@linaro.org
</recipientList>
      <configuredTriggers>
        <hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
          <email>
            <recipientList></recipientList>
            <subject>$PROJECT_DEFAULT_SUBJECT</subject>
            <body>$PROJECT_DEFAULT_CONTENT</body>
            <recipientProviders>
              <hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
            </recipientProviders>
            <attachBuildLog>false</attachBuildLog>
            <compressBuildLog>false</compressBuildLog>
          </email>
        </hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
        <hudson.plugins.emailext.plugins.trigger.FailureTrigger>
          <email>
            <recipientList></recipientList>
            <subject>$PROJECT_DEFAULT_SUBJECT</subject>
            <body>$PROJECT_DEFAULT_CONTENT</body>
            <recipientProviders>
              <hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
            </recipientProviders>
            <attachBuildLog>false</attachBuildLog>
            <compressBuildLog>false</compressBuildLog>
          </email>
        </hudson.plugins.emailext.plugins.trigger.FailureTrigger>
      </configuredTriggers>
      <contentType>default</contentType>
      <defaultSubject>$DEFAULT_SUBJECT</defaultSubject>
      <defaultContent>$DEFAULT_CONTENT</defaultContent>
      <attachmentsPattern></attachmentsPattern>
      <presendScript></presendScript>
      <postsendScript></postsendScript>
      <attachBuildLog>false</attachBuildLog>
      <compressBuildLog>false</compressBuildLog>
      <replyTo>$DEFAULT_REPLYTO</replyTo>
      <saveOutput>false</saveOutput>
      <disabled>false</disabled>
    </hudson.plugins.emailext.ExtendedEmailPublisher>
  </publishers>
  <buildWrappers>
    <hudson.plugins.build__timeout.BuildTimeoutWrapper plugin="build-timeout@1.32">
      <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy">
        <timeoutMinutes>2880</timeoutMinutes>
      </strategy>
      <operationList>
        <hudson.plugins.build__timeout.operations.AbortOperation/>
      </operationList>
    </hudson.plugins.build__timeout.BuildTimeoutWrapper>
    <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.26"/>
    <com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper plugin="ssh-agent@346.vda_a_c4f2c8e50">
      <credentialIds>
        <string>e0958a95-204f-4c14-a66c-5e2be6c5d50a</string>
        <string>tcwg-buildslave-20220725</string>
      </credentialIds>
      <ignoreMissing>false</ignoreMissing>
    </com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper>
    <org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@657.v2b_19db_7d6e6d">
      <bindings>
        <org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
          <credentialsId>TCWG_JIRA_TOKEN</credentialsId>
          <variable>TCWG_JIRA_TOKEN</variable>
        </org.jenkinsci.plugins.credentialsbinding.impl.StringBinding>
      </bindings>
    </org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
  </buildWrappers>
</project>