Created
November 3, 2017 21:10
-
-
Save refack/29f04103fbf9112101a74d721a868add to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version='1.0' encoding='UTF-8'?> | |
<matrix-project plugin="matrix-project@1.12"> | |
<actions/> | |
<description></description> | |
<keepDependencies>false</keepDependencies> | |
<properties> | |
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.28.1"> | |
<projectUrl>https://github.com/nodejs/node/</projectUrl> | |
<displayName></displayName> | |
</com.coravy.hudson.plugins.github.GithubProjectProperty> | |
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.27"> | |
<autoRebuild>false</autoRebuild> | |
<rebuildDisabled>false</rebuildDisabled> | |
</com.sonyericsson.rebuild.RebuildSettings> | |
<hudson.model.ParametersDefinitionProperty> | |
<parameterDefinitions> | |
<hudson.model.StringParameterDefinition> | |
<name>TEMP_REPO</name> | |
<description>URL of the temporary repository to use.</description> | |
<defaultValue>git@github.com:janeasystems/node_binary_tmp.git</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>TEMP_BRANCH</name> | |
<description>The Git branch to fetch form the temporaries repository.</description> | |
<defaultValue></defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>TEMP_PUSH_BRANCH</name> | |
<description>The Git branch prefix to push to the temporaries repository with the result.</description> | |
<defaultValue></defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>NODE_MAJOR_VERSION</name> | |
<description></description> | |
<defaultValue>10</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.ChoiceParameterDefinition> | |
<name>ENGINE</name> | |
<description>Build binary with engine (only V8 is supported)</description> | |
<choices class="java.util.Arrays$ArrayList"> | |
<a class="string-array"> | |
<string>V8</string> | |
<string>ChakraCore</string> | |
</a> | |
</choices> | |
</hudson.model.ChoiceParameterDefinition> | |
</parameterDefinitions> | |
</hudson.model.ParametersDefinitionProperty> | |
<hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1"> | |
<maxConcurrentPerNode>0</maxConcurrentPerNode> | |
<maxConcurrentTotal>0</maxConcurrentTotal> | |
<categories class="java.util.concurrent.CopyOnWriteArrayList"/> | |
<throttleEnabled>false</throttleEnabled> | |
<throttleOption>project</throttleOption> | |
<limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams> | |
<matrixOptions> | |
<throttleMatrixBuilds>true</throttleMatrixBuilds> | |
<throttleMatrixConfigurations>false</throttleMatrixConfigurations> | |
</matrixOptions> | |
<paramsToUseForLimit></paramsToUseForLimit> | |
</hudson.plugins.throttleconcurrents.ThrottleJobProperty> | |
</properties> | |
<scm class="hudson.plugins.git.GitSCM" plugin="git@3.6.0"> | |
<configVersion>2</configVersion> | |
<userRemoteConfigs> | |
<hudson.plugins.git.UserRemoteConfig> | |
<name>jenkins_tmp</name> | |
<refspec>+refs/heads/$TEMP_BRANCH:refs/remotes/jenkins_tmp/_jenkins_local_branch</refspec> | |
<url>$TEMP_REPO</url> | |
<credentialsId>dea9092d-214b-471a-be5d-5343dd7755c1</credentialsId> | |
</hudson.plugins.git.UserRemoteConfig> | |
</userRemoteConfigs> | |
<branches> | |
<hudson.plugins.git.BranchSpec> | |
<name>jenkins_tmp/_jenkins_local_branch</name> | |
</hudson.plugins.git.BranchSpec> | |
</branches> | |
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations> | |
<browser class="hudson.plugins.git.browser.GithubWeb"> | |
<url>https://github.com/janeasystems/node_binary_tmp</url> | |
</browser> | |
<submoduleCfg class="list"/> | |
<extensions> | |
<hudson.plugins.git.extensions.impl.CleanCheckout/> | |
<hudson.plugins.git.extensions.impl.CloneOption> | |
<shallow>false</shallow> | |
<noTags>false</noTags> | |
<reference>/home/iojs/git/node.reference</reference> | |
<timeout>20</timeout> | |
<depth>0</depth> | |
<honorRefspec>false</honorRefspec> | |
</hudson.plugins.git.extensions.impl.CloneOption> | |
<hudson.plugins.git.extensions.impl.ChangelogToBranch> | |
<options> | |
<compareRemote>jenkins_tmp</compareRemote> | |
<compareTarget>_jenkins_local_branch~1</compareTarget> | |
</options> | |
</hudson.plugins.git.extensions.impl.ChangelogToBranch> | |
</extensions> | |
</scm> | |
<assignedNode>jenkins-workspace</assignedNode> | |
<canRoam>false</canRoam> | |
<disabled>false</disabled> | |
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> | |
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> | |
<triggers/> | |
<concurrentBuild>true</concurrentBuild> | |
<axes> | |
<hudson.matrix.LabelAxis> | |
<name>label</name> | |
<values> | |
<string>win-vcbt2015</string> | |
<string>win-vs2013</string> | |
<string>win-vs2015</string> | |
<string>win-vs2015-arm</string> | |
<string>win-vs2015-x86</string> | |
<string>win-vs2017</string> | |
</values> | |
</hudson.matrix.LabelAxis> | |
</axes> | |
<combinationFilter>(ENGINE=="ChakraCore" || label!="win-vs2015-arm") && (NODE_MAJOR_VERSION.toInteger()<6 || label!="win-vs2013") && (NODE_MAJOR_VERSION.toInteger()>=8 || label!="win-vs2017")</combinationFilter> | |
<builders> | |
<hudson.tasks.BatchFile> | |
<command>:: https://github.com/nodejs/node/issues/5094
 | |
ECHO OFF
 | |
FOR /F %%F IN ('git status --porcelain') DO (
 | |
git status
 | |
echo.
 | |
echo ERROR: Workspace cannot be cleaned, possible problem with committed file names
 | |
exit /b 1
 | |
)
 | |
ECHO ON</command> | |
</hudson.tasks.BatchFile> | |
<hudson.tasks.BatchFile> | |
<command>TASKKILL /F /IM node.exe /T || TRUE
 | |
TASKKILL /F /IM cctest.exe /T || TRUE
 | |
TASKKILL /F /IM run-tests.exe /T || TRUE
 | |

 | |
for /f "delims=" %%a in ('python tools\getnodeversion.py') do @set node_version_from_branch=%%a
 | |
echo Detected version from branch: %node_version_from_branch%
 | |

 | |
set vcbuild_extra_args=
 | |
if /I "%node_version_from_branch:~0,4%" == "0.10" set vcbuild_extra_args=nosnapshot %vcbuild_extra_args%
 | |
if /I "%node_version_from_branch:~0,4%" == "0.12" set vcbuild_extra_args=nosnapshot %vcbuild_extra_args%
 | |

 | |
set "BINARY_FILES=config.gypi icu_config.gypi Release/node.exe Release/node.lib Release/openssl-cli.exe Release/cctest.exe"
 | |

 | |
if /I "%ENGINE%"=="ChakraCore" (
 | |
set "vcbuild_extra_args=chakracore %vcbuild_extra_args%"
 | |
set "BINARY_FILES=%BINARY_FILES% Release/chakracore.dll Release/chakracore.lib deps/chakrashim/include/Chakra*.h"
 | |
)
 | |

 | |
if "%label:~-4%" == "-x86" (
 | |
set "vcbuild_extra_args=x86 %vcbuild_extra_args%"
 | |
) else if "%label:~-4%" == "-arm" (
 | |
set "vcbuild_extra_args=arm %vcbuild_extra_args%"
 | |
) else (
 | |
set "vcbuild_extra_args=x64 %vcbuild_extra_args%"
 | |
)
 | |

 | |
if "%label%" == "win-vs2017" (
 | |
set "vcbuild_extra_args=vs2017 %vcbuild_extra_args%"
 | |
)
 | |

 | |
call vcbuild.bat release nosign %vcbuild_extra_args%
 | |
if %errorlevel% neq 0 exit /b %errorlevel%
 | |
echo on
 | |

 | |
if exist Release\node_test_engine.dll set "BINARY_FILES=%BINARY_FILES% Release/node_test_engine.dll"
 | |

 | |
rm -rf binary
 | |
mkdir binary
 | |
tar cavf binary/binary.tar.gz %BINARY_FILES%
 | |
md5sum binary/binary.tar.gz %BINARY_FILES% || true
 | |
git add binary\binary.tar.gz
 | |
if %errorlevel% neq 0 exit /b %errorlevel%
 | |

 | |

 | |
git checkout -B %TEMP_PUSH_BRANCH%/%label%
 | |
if %errorlevel% neq 0 exit /b %errorlevel%
 | |

 | |
git config --replace-all user.name "Node.js Jenkins CI"
 | |
git config --replace-all user.email ci@iojs.org
 | |
git commit -m "added binaries"
 | |
if %errorlevel% neq 0 exit /b %errorlevel%
 | |

 | |
grep -q ^github.com %USERPROFILE%\.ssh\known_hosts || (ssh-keyscan -t rsa github.com >> %USERPROFILE%\.ssh\known_hosts)
 | |
echo off
 | |
FOR /F "delims=" %%F IN ('cygpath -u %JENKINS_TMP_KEY%') DO SET "GIT_SSH_COMMAND=ssh -i %%F"
 | |
echo on
 | |
git push "%TEMP_REPO%" "+%TEMP_PUSH_BRANCH%/%label%"
 | |
if %errorlevel% neq 0 exit /b %errorlevel%
 | |
set "GIT_SSH_COMMAND="
 | |

 | |
git clean -fdx
 | |
TASKKILL /F /IM node.exe /T || TRUE
 | |
TASKKILL /F /IM cctest.exe /T || TRUE
 | |
TASKKILL /F /IM run-tests.exe /T || TRUE
 | |

 | |

 | |
</command> | |
</hudson.tasks.BatchFile> | |
</builders> | |
<publishers> | |
<hudson.tasks.ArtifactArchiver> | |
<artifacts>binary/binary.tar.gz</artifacts> | |
<allowEmptyArchive>true</allowEmptyArchive> | |
<onlyIfSuccessful>true</onlyIfSuccessful> | |
<fingerprint>true</fingerprint> | |
<defaultExcludes>true</defaultExcludes> | |
<caseSensitive>true</caseSensitive> | |
</hudson.tasks.ArtifactArchiver> | |
</publishers> | |
<buildWrappers> | |
<hudson.plugins.ansicolor.AnsiColorBuildWrapper plugin="ansicolor@0.5.2"> | |
<colorMapName>xterm</colorMapName> | |
</hudson.plugins.ansicolor.AnsiColorBuildWrapper> | |
<EnvInjectBuildWrapper plugin="envinject@2.1.5"> | |
<info> | |
<propertiesContent>PYTHON=c:\python27\python.exe</propertiesContent> | |
<secureGroovyScript plugin="script-security@1.34"> | |
<script></script> | |
<sandbox>false</sandbox> | |
</secureGroovyScript> | |
<loadFilesFromMaster>false</loadFilesFromMaster> | |
</info> | |
</EnvInjectBuildWrapper> | |
<org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.13"> | |
<bindings> | |
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding> | |
<credentialsId>7cff4811-b2bb-4e4d-afae-d75e1c07ae4f</credentialsId> | |
<variable>JENKINS_TMP_KEY</variable> | |
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding> | |
</bindings> | |
</org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper> | |
</buildWrappers> | |
<executionStrategy class="hudson.matrix.DefaultMatrixExecutionStrategyImpl"> | |
<runSequentially>false</runSequentially> | |
</executionStrategy> | |
<childCustomWorkspace>.</childCustomWorkspace> | |
</matrix-project> | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version='1.0' encoding='UTF-8'?> | |
<matrix-project plugin="matrix-project@1.12"> | |
<actions/> | |
<description></description> | |
<keepDependencies>false</keepDependencies> | |
<properties> | |
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.28.1"> | |
<projectUrl>https://github.com/nodejs/node/</projectUrl> | |
<displayName></displayName> | |
</com.coravy.hudson.plugins.github.GithubProjectProperty> | |
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.27"> | |
<autoRebuild>false</autoRebuild> | |
<rebuildDisabled>false</rebuildDisabled> | |
</com.sonyericsson.rebuild.RebuildSettings> | |
<hudson.model.ParametersDefinitionProperty> | |
<parameterDefinitions> | |
<hudson.model.StringParameterDefinition> | |
<name>TEMP_REPO</name> | |
<description>URL of the temporary repository to use.</description> | |
<defaultValue>git@github.com:janeasystems/node_binary_tmp.git</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>TEMP_BRANCH</name> | |
<description>The Git branch to fetch form the temporaries repository.</description> | |
<defaultValue></defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>NODE_MAJOR_VERSION</name> | |
<description></description> | |
<defaultValue>10</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.ChoiceParameterDefinition> | |
<name>NODES_SUBSET</name> | |
<description>The subset of nodes to run tests on</description> | |
<choices class="java.util.Arrays$ArrayList"> | |
<a class="string-array"> | |
<string>io.js</string> | |
<string>0.12</string> | |
<string>0.10</string> | |
<string>pure_docs_change</string> | |
<string>all_nodes</string> | |
</a> | |
</choices> | |
</hudson.model.ChoiceParameterDefinition> | |
<hudson.model.BooleanParameterDefinition> | |
<name>IGNORE_FLAKY_TESTS</name> | |
<description>Mark the build as unstable instead of failure if only flaky tests fail</description> | |
<defaultValue>true</defaultValue> | |
</hudson.model.BooleanParameterDefinition> | |
<hudson.model.ChoiceParameterDefinition> | |
<name>ENGINE</name> | |
<description>Run on combinations supported by engine</description> | |
<choices class="java.util.Arrays$ArrayList"> | |
<a class="string-array"> | |
<string>V8</string> | |
<string>ChakraCore</string> | |
</a> | |
</choices> | |
</hudson.model.ChoiceParameterDefinition> | |
</parameterDefinitions> | |
</hudson.model.ParametersDefinitionProperty> | |
<hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1"> | |
<maxConcurrentPerNode>0</maxConcurrentPerNode> | |
<maxConcurrentTotal>0</maxConcurrentTotal> | |
<categories class="java.util.concurrent.CopyOnWriteArrayList"/> | |
<throttleEnabled>false</throttleEnabled> | |
<throttleOption>project</throttleOption> | |
<limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams> | |
<matrixOptions> | |
<throttleMatrixBuilds>true</throttleMatrixBuilds> | |
<throttleMatrixConfigurations>false</throttleMatrixConfigurations> | |
</matrixOptions> | |
<paramsToUseForLimit></paramsToUseForLimit> | |
</hudson.plugins.throttleconcurrents.ThrottleJobProperty> | |
</properties> | |
<scm class="hudson.plugins.git.GitSCM" plugin="git@3.6.0"> | |
<configVersion>2</configVersion> | |
<userRemoteConfigs> | |
<hudson.plugins.git.UserRemoteConfig> | |
<name>jenkins_tmp</name> | |
<refspec>+refs/heads/$TEMP_BRANCH/*:refs/remotes/jenkins_tmp/$TEMP_BRANCH/*</refspec> | |
<url>$TEMP_REPO</url> | |
<credentialsId>dea9092d-214b-471a-be5d-5343dd7755c1</credentialsId> | |
</hudson.plugins.git.UserRemoteConfig> | |
</userRemoteConfigs> | |
<branches> | |
<hudson.plugins.git.BranchSpec> | |
<name>refs/remotes/jenkins_tmp/$TEMP_BRANCH/win-vs2015^</name> | |
</hudson.plugins.git.BranchSpec> | |
</branches> | |
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations> | |
<browser class="hudson.plugins.git.browser.GithubWeb"> | |
<url>https://github.com/nodejs/node</url> | |
</browser> | |
<submoduleCfg class="list"/> | |
<extensions> | |
<hudson.plugins.git.extensions.impl.CleanBeforeCheckout/> | |
<hudson.plugins.git.extensions.impl.CleanCheckout/> | |
<hudson.plugins.git.extensions.impl.CloneOption> | |
<shallow>false</shallow> | |
<noTags>false</noTags> | |
<reference>/home/iojs/git/io.js.reference</reference> | |
<timeout>30</timeout> | |
<depth>0</depth> | |
<honorRefspec>false</honorRefspec> | |
</hudson.plugins.git.extensions.impl.CloneOption> | |
</extensions> | |
</scm> | |
<assignedNode>jenkins-workspace</assignedNode> | |
<canRoam>false</canRoam> | |
<disabled>false</disabled> | |
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> | |
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> | |
<triggers/> | |
<concurrentBuild>true</concurrentBuild> | |
<axes> | |
<hudson.matrix.LabelAxis> | |
<name>RUNNER</name> | |
<values> | |
<string>win10</string> | |
<string>win2008r2-vs2013</string> | |
<string>win2008r2-vs2017</string> | |
<string>win2012r2</string> | |
<string>win2016</string> | |
</values> | |
</hudson.matrix.LabelAxis> | |
<hudson.matrix.TextAxis> | |
<name>RUN_SUBSET</name> | |
<values> | |
<string>0</string> | |
<string>1</string> | |
<string>2</string> | |
<string>3</string> | |
</values> | |
</hudson.matrix.TextAxis> | |
<hudson.matrix.TextAxis> | |
<name>COMPILED_BY</name> | |
<values> | |
<string>vs2013</string> | |
<string>vs2015</string> | |
<string>vcbt2015</string> | |
<string>vs2015-x86</string> | |
<string>vs2017</string> | |
</values> | |
</hudson.matrix.TextAxis> | |
</axes> | |
<combinationFilter>((RUNNER=="win10" && COMPILED_BY=="vcbt2015") || (RUNNER=="win2008r2-vs2013" && NODE_MAJOR_VERSION.toInteger()<9 && ((NODE_MAJOR_VERSION.toInteger()<6 && COMPILED_BY=="vs2013") || (NODE_MAJOR_VERSION.toInteger()>=6 && COMPILED_BY=="vs2015"))) || (RUNNER=="win2008r2-vs2017" && NODE_MAJOR_VERSION.toInteger()>=9 && COMPILED_BY=="vs2015") || (RUNNER=="win2012r2" && (COMPILED_BY=="vs2015" || COMPILED_BY=="vs2015-x86")) || (RUNNER=="win2016" && ((NODE_MAJOR_VERSION.toInteger()<8 && COMPILED_BY=="vs2015") || (NODE_MAJOR_VERSION.toInteger()>=8 && COMPILED_BY=="vs2017")))) && (NODE_MAJOR_VERSION.toInteger()>0 || RUN_SUBSET=="0")</combinationFilter> | |
<builders> | |
<hudson.tasks.BatchFile> | |
<command>@rem Diagnostics
 | |
echo off
 | |
set "DIAGFILE=c:\jenkins_diagnostics.txt"
 | |
echo. >> %DIAGFILE%
 | |
echo. >> %DIAGFILE%
 | |
echo. >> %DIAGFILE%
 | |
set "TS=%date% %time%"
 | |
echo %TS%
 | |
echo %TS% >> %DIAGFILE%
 | |
echo Before building >> %DIAGFILE%
 | |
echo %BUILD_TAG% >> %DIAGFILE%
 | |
echo %BUILD_URL% >> %DIAGFILE%
 | |
echo %NODE_NAME% >> %DIAGFILE%
 | |
echo. >> %DIAGFILE%
 | |
echo netstat -abno >> %DIAGFILE%
 | |
netstat -abno >> %DIAGFILE% 2>&1 || true
 | |
echo. >> %DIAGFILE%
 | |
echo tasklist /v >> %DIAGFILE%
 | |
tasklist /v >> %DIAGFILE% 2>&1 || true
 | |
echo. >> %DIAGFILE%
 | |
echo tasklist /svc >> %DIAGFILE%
 | |
tasklist /svc >> %DIAGFILE% 2>&1 || true
 | |
mv %DIAGFILE% %DIAGFILE%-OLD || true
 | |
tail -c 20000000 %DIAGFILE%-OLD > %DIAGFILE% || true
 | |
rm %DIAGFILE%-OLD || true
 | |
echo on
 | |
tasklist | grep node || true
 | |
</command> | |
</hudson.tasks.BatchFile> | |
<hudson.tasks.BatchFile> | |
<command>TASKKILL /F /IM node.exe /T || TRUE
 | |
TASKKILL /F /IM cctest.exe /T || TRUE
 | |
TASKKILL /F /IM run-tests.exe /T || TRUE
 | |
TASKKILL /F /IM yes.exe /T || TRUE
 | |

 | |
git checkout -f refs/remotes/jenkins_tmp/%TEMP_BRANCH%/win-%COMPILED_BY%
 | |
if %errorlevel% neq 0 exit /b %errorlevel%
 | |
git rev-parse --verify HEAD || true
 | |

 | |
tar xavf binary/binary.tar.gz
 | |
if %errorlevel% neq 0 exit /b %errorlevel%
 | |
md5sum binary/binary.tar.gz config.gypi icu_config.gypi Release/node.exe Release/node.lib Release/openssl-cli.exe Release/cctest.exe || true
 | |

 | |
if /i "%IGNORE_FLAKY_TESTS%" == "true" (
 | |
set FLAKY_TEST_ARG=ignore-flaky
 | |
) else (
 | |
set FLAKY_TEST_ARG=
 | |
)
 | |
echo FLAKY_TEST_ARG=%FLAKY_TEST_ARG%
 | |

 | |
set "test_ci_args=--run=%RUN_SUBSET%,4"
 | |

 | |
@rem It is necessary to use rm because git clean cannot clean very long paths and the next job would fail
 | |

 | |
call vcbuild.bat release nosign x64 noprojgen nobuild test-ci %FLAKY_TEST_ARG%
 | |
set "EXIT_RETURN_VALUE=%errorlevel%"
 | |

 | |
echo on
 | |
TASKKILL /F /IM node.exe /T || TRUE
 | |
TASKKILL /F /IM cctest.exe /T || TRUE
 | |
TASKKILL /F /IM run-tests.exe /T || TRUE
 | |
TASKKILL /F /IM yes.exe /T || TRUE
 | |
rm -rfv test/tmp* || true
 | |

 | |
if not exist test.tap (
 | |
echo "Missing test.tap file"
 | |
set "EXIT_RETURN_VALUE=1"
 | |
)
 | |
if not exist cctest.tap (
 | |
echo "Missing cctest.tap file"
 | |
set "EXIT_RETURN_VALUE=1"
 | |
)
 | |

 | |
rm -vf ../test.tap || true
 | |
rm -vf ../cctest.tap || true
 | |
mv test.tap ../test.tap || true
 | |
mv cctest.tap ../cctest.tap || true
 | |
git clean -fdx || true
 | |
git reset --hard || true
 | |
mv ../test.tap test.tap || true
 | |
mv ../cctest.tap cctest.tap || true
 | |

 | |
exit /b %EXIT_RETURN_VALUE%
 | |
</command> | |
</hudson.tasks.BatchFile> | |
<hudson.tasks.BatchFile> | |
<command>@rem Diagnostics
 | |
echo off
 | |
set "DIAGFILE=c:\jenkins_diagnostics.txt"
 | |
echo. >> %DIAGFILE%
 | |
echo. >> %DIAGFILE%
 | |
echo. >> %DIAGFILE%
 | |
set "TS=%date% %time%"
 | |
echo %TS%
 | |
echo %TS% >> %DIAGFILE%
 | |
echo After building >> %DIAGFILE%
 | |
echo %BUILD_TAG% >> %DIAGFILE%
 | |
echo %BUILD_URL% >> %DIAGFILE%
 | |
echo %NODE_NAME% >> %DIAGFILE%
 | |
echo. >> %DIAGFILE%
 | |
echo netstat -abno >> %DIAGFILE%
 | |
netstat -abno >> %DIAGFILE% 2>&1 || true
 | |
echo. >> %DIAGFILE%
 | |
echo tasklist /v >> %DIAGFILE%
 | |
tasklist /v >> %DIAGFILE% 2>&1 || true
 | |
echo. >> %DIAGFILE%
 | |
echo tasklist /svc >> %DIAGFILE%
 | |
tasklist /svc >> %DIAGFILE% 2>&1 || true
 | |
mv %DIAGFILE% %DIAGFILE%-OLD || true
 | |
tail -c 20000000 %DIAGFILE%-OLD > %DIAGFILE% || true
 | |
rm %DIAGFILE%-OLD || true
 | |
echo on
 | |
tasklist | grep node || true
 | |

 | |
</command> | |
</hudson.tasks.BatchFile> | |
</builders> | |
<publishers> | |
<org.tap4j.plugin.TapPublisher plugin="tap@2.1"> | |
<testResults>*.tap</testResults> | |
<failIfNoResults>true</failIfNoResults> | |
<failedTestsMarkBuildAsFailure>true</failedTestsMarkBuildAsFailure> | |
<outputTapToConsole>false</outputTapToConsole> | |
<enableSubtests>false</enableSubtests> | |
<discardOldReports>false</discardOldReports> | |
<todoIsFailure>false</todoIsFailure> | |
<includeCommentDiagnostics>true</includeCommentDiagnostics> | |
<validateNumberOfTests>true</validateNumberOfTests> | |
<planRequired>true</planRequired> | |
<verbose>true</verbose> | |
<showOnlyFailures>false</showOnlyFailures> | |
<stripSingleParents>false</stripSingleParents> | |
<flattenTapResult>false</flattenTapResult> | |
<skipIfBuildNotOk>false</skipIfBuildNotOk> | |
</org.tap4j.plugin.TapPublisher> | |
<hudson.plugins.textfinder.TextFinderPublisher plugin="text-finder@1.10"> | |
<fileSet>*.tap</fileSet> | |
<regexp>^not ok</regexp> | |
<succeedIfFound>false</succeedIfFound> | |
<unstableIfFound>true</unstableIfFound> | |
<alsoCheckConsoleOutput>false</alsoCheckConsoleOutput> | |
</hudson.plugins.textfinder.TextFinderPublisher> | |
</publishers> | |
<buildWrappers> | |
<hudson.plugins.ansicolor.AnsiColorBuildWrapper plugin="ansicolor@0.5.2"> | |
<colorMapName>xterm</colorMapName> | |
</hudson.plugins.ansicolor.AnsiColorBuildWrapper> | |
</buildWrappers> | |
<executionStrategy class="hudson.matrix.DefaultMatrixExecutionStrategyImpl"> | |
<runSequentially>false</runSequentially> | |
</executionStrategy> | |
<childCustomWorkspace>.</childCustomWorkspace> | |
</matrix-project> | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version='1.0' encoding='UTF-8'?> | |
<com.tikal.jenkins.plugins.multijob.MultiJobProject plugin="jenkins-multijob-plugin@1.28"> | |
<actions/> | |
<description></description> | |
<keepDependencies>false</keepDependencies> | |
<properties> | |
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.28.1"> | |
<projectUrl>https://github.com/nodejs/node/</projectUrl> | |
<displayName></displayName> | |
</com.coravy.hudson.plugins.github.GithubProjectProperty> | |
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.27"> | |
<autoRebuild>false</autoRebuild> | |
<rebuildDisabled>false</rebuildDisabled> | |
</com.sonyericsson.rebuild.RebuildSettings> | |
<hudson.model.ParametersDefinitionProperty> | |
<parameterDefinitions> | |
<hudson.model.StringParameterDefinition> | |
<name>GITHUB_ORG</name> | |
<description>The user/org of the GitHub repo</description> | |
<defaultValue>nodejs</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>REPO_NAME</name> | |
<description>The name of the repo</description> | |
<defaultValue>node</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>GIT_REMOTE_REF</name> | |
<description>The remote portion of the Git refspec to fetch and test</description> | |
<defaultValue>refs/heads/master</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>REBASE_ONTO</name> | |
<description>Optionally, rebase onto the given ref before testing. Leave blank to skip rebasing.</description> | |
<defaultValue></defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>POST_REBASE_SHA1_CHECK</name> | |
<description>After rebasing, check that the resulting commit sha1 matches the given one. If left blank, no check is performed.</description> | |
<defaultValue></defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>NODE_MAJOR_VERSION</name> | |
<description></description> | |
<defaultValue>10</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.ChoiceParameterDefinition> | |
<name>NODES_SUBSET</name> | |
<description>The subset of nodes to run tests on</description> | |
<choices class="java.util.Arrays$ArrayList"> | |
<a class="string-array"> | |
<string>io.js</string> | |
<string>0.12</string> | |
<string>0.10</string> | |
<string>pure_docs_change</string> | |
<string>all_nodes</string> | |
</a> | |
</choices> | |
</hudson.model.ChoiceParameterDefinition> | |
<hudson.model.BooleanParameterDefinition> | |
<name>IGNORE_FLAKY_TESTS</name> | |
<description>Mark the build as unstable instead of failure if only flaky tests fail</description> | |
<defaultValue>true</defaultValue> | |
</hudson.model.BooleanParameterDefinition> | |
<hudson.model.StringParameterDefinition> | |
<name>TEMP_REPO</name> | |
<description>URL of the temporary repository to use.</description> | |
<defaultValue>git@github.com:janeasystems/node_binary_tmp.git</defaultValue> | |
</hudson.model.StringParameterDefinition> | |
<hudson.model.BooleanParameterDefinition> | |
<name>DELETE_TEMP_BRANCH</name> | |
<description>Delete the branch created in the temporary repository.</description> | |
<defaultValue>true</defaultValue> | |
</hudson.model.BooleanParameterDefinition> | |
<hudson.model.ChoiceParameterDefinition> | |
<name>GIT_ORIGIN_SCHEME</name> | |
<description></description> | |
<choices class="java.util.Arrays$ArrayList"> | |
<a class="string-array"> | |
<string>https://github.com/</string> | |
<string>git@github.com:</string> | |
</a> | |
</choices> | |
</hudson.model.ChoiceParameterDefinition> | |
<hudson.model.BooleanParameterDefinition> | |
<name>POST_STATUS_TO_PR</name> | |
<description>Posts build status updates to a nodejs/node PR.</description> | |
<defaultValue>false</defaultValue> | |
</hudson.model.BooleanParameterDefinition> | |
</parameterDefinitions> | |
</hudson.model.ParametersDefinitionProperty> | |
<hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1"> | |
<maxConcurrentPerNode>0</maxConcurrentPerNode> | |
<maxConcurrentTotal>0</maxConcurrentTotal> | |
<categories class="java.util.concurrent.CopyOnWriteArrayList"/> | |
<throttleEnabled>false</throttleEnabled> | |
<throttleOption>project</throttleOption> | |
<limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams> | |
<paramsToUseForLimit></paramsToUseForLimit> | |
</hudson.plugins.throttleconcurrents.ThrottleJobProperty> | |
</properties> | |
<scm class="hudson.scm.NullSCM"/> | |
<assignedNode>jenkins-workspace</assignedNode> | |
<canRoam>false</canRoam> | |
<disabled>false</disabled> | |
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> | |
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> | |
<triggers/> | |
<concurrentBuild>true</concurrentBuild> | |
<builders> | |
<hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.35.2"> | |
<configs> | |
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> | |
<configs> | |
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> | |
<properties>GIT_ORIGIN_SCHEME=${GIT_ORIGIN_SCHEME} | |
GITHUB_REPOSITORY=${GITHUB_ORG}/${REPO_NAME} | |
GIT_REMOTE_REF=${GIT_REMOTE_REF} | |
REBASE_ONTO=${REBASE_ONTO} | |
TEMP_REPO=${TEMP_REPO} | |
TEMP_PUSH_BRANCH=${BUILD_TAG}</properties> | |
<textParamValueOnNewLine>false</textParamValueOnNewLine> | |
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> | |
</configs> | |
<projects>git-rebase</projects> | |
<condition>ALWAYS</condition> | |
<triggerWithNoParameters>false</triggerWithNoParameters> | |
<triggerFromChildProjects>false</triggerFromChildProjects> | |
<block> | |
<buildStepFailureThreshold> | |
<name>FAILURE</name> | |
<ordinal>2</ordinal> | |
<color>RED</color> | |
<completeBuild>true</completeBuild> | |
</buildStepFailureThreshold> | |
<unstableThreshold> | |
<name>UNSTABLE</name> | |
<ordinal>1</ordinal> | |
<color>YELLOW</color> | |
<completeBuild>true</completeBuild> | |
</unstableThreshold> | |
<failureThreshold> | |
<name>FAILURE</name> | |
<ordinal>2</ordinal> | |
<color>RED</color> | |
<completeBuild>true</completeBuild> | |
</failureThreshold> | |
</block> | |
<buildAllNodesWithLabel>false</buildAllNodesWithLabel> | |
</hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> | |
</configs> | |
</hudson.plugins.parameterizedtrigger.TriggerBuilder> | |
<hudson.tasks.Shell> | |
<command>set +x | |
if test $POST_STATUS_TO_PR = "true"; then | |
curl -s -o /dev/null \ | |
--connect-timeout 5 \ | |
-X POST \ | |
-H "Content-Type: application/json" \ | |
-d "{ \ | |
\"identifier\": \"test/windows-fanned\", \ | |
\"status\": \"pending\", \ | |
\"url\": \"${BUILD_URL}\", \ | |
\"commit\": \"$(git rev-parse HEAD)\", \ | |
\"ref\": \"${GIT_REMOTE_REF}\", \ | |
\"message\": \"running tests\" \ | |
}" \ | |
http://github-bot.nodejs.org:3333/node/jenkins/start & | |
fi | |
</command> | |
</hudson.tasks.Shell> | |
<com.tikal.jenkins.plugins.multijob.MultiJobBuilder> | |
<phaseName>Compilation</phaseName> | |
<phaseJobs> | |
<com.tikal.jenkins.plugins.multijob.PhaseJobsConfig> | |
<jobName>node-compile-windows</jobName> | |
<currParams>false</currParams> | |
<exposedSCM>false</exposedSCM> | |
<disableJob>false</disableJob> | |
<parsingRulesPath></parsingRulesPath> | |
<maxRetries>0</maxRetries> | |
<enableRetryStrategy>false</enableRetryStrategy> | |
<enableCondition>false</enableCondition> | |
<abortAllJob>true</abortAllJob> | |
<condition></condition> | |
<configs> | |
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters plugin="parameterized-trigger@2.35.2"> | |
<properties>TEMP_REPO=${TEMP_REPO} | |
TEMP_BRANCH=${BUILD_TAG} | |
TEMP_PUSH_BRANCH=${BUILD_TAG}-binary-windows | |
NODE_MAJOR_VERSION=${NODE_MAJOR_VERSION}</properties> | |
<textParamValueOnNewLine>false</textParamValueOnNewLine> | |
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> | |
</configs> | |
<killPhaseOnJobResultCondition>FAILURE</killPhaseOnJobResultCondition> | |
<buildOnlyIfSCMChanges>false</buildOnlyIfSCMChanges> | |
<applyConditionOnlyIfNoSCMChanges>false</applyConditionOnlyIfNoSCMChanges> | |
</com.tikal.jenkins.plugins.multijob.PhaseJobsConfig> | |
</phaseJobs> | |
<continuationCondition>ALWAYS</continuationCondition> | |
<executionType>PARALLEL</executionType> | |
</com.tikal.jenkins.plugins.multijob.MultiJobBuilder> | |
<org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder plugin="conditional-buildstep@1.3.6"> | |
<condition class="org.jenkins_ci.plugins.run_condition.core.StatusCondition" plugin="run-condition@1.0"> | |
<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="com.tikal.jenkins.plugins.multijob.MultiJobBuilder" plugin="jenkins-multijob-plugin@1.28"> | |
<phaseName>Binary Tests</phaseName> | |
<phaseJobs> | |
<com.tikal.jenkins.plugins.multijob.PhaseJobsConfig> | |
<jobName>node-test-binary-windows</jobName> | |
<currParams>false</currParams> | |
<exposedSCM>false</exposedSCM> | |
<disableJob>false</disableJob> | |
<parsingRulesPath></parsingRulesPath> | |
<maxRetries>0</maxRetries> | |
<enableRetryStrategy>false</enableRetryStrategy> | |
<enableCondition>false</enableCondition> | |
<abortAllJob>true</abortAllJob> | |
<condition></condition> | |
<configs> | |
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters plugin="parameterized-trigger@2.35.2"> | |
<properties>TEMP_REPO=${TEMP_REPO} | |
TEMP_BRANCH=${BUILD_TAG}-binary-windows | |
NODES_SUBSET=${NODES_SUBSET} | |
IGNORE_FLAKY_TESTS=${IGNORE_FLAKY_TESTS} | |
NODE_MAJOR_VERSION=${NODE_MAJOR_VERSION}</properties> | |
<textParamValueOnNewLine>false</textParamValueOnNewLine> | |
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> | |
</configs> | |
<killPhaseOnJobResultCondition>NEVER</killPhaseOnJobResultCondition> | |
<buildOnlyIfSCMChanges>false</buildOnlyIfSCMChanges> | |
<applyConditionOnlyIfNoSCMChanges>false</applyConditionOnlyIfNoSCMChanges> | |
</com.tikal.jenkins.plugins.multijob.PhaseJobsConfig> | |
</phaseJobs> | |
<continuationCondition>ALWAYS</continuationCondition> | |
<executionType>PARALLEL</executionType> | |
</buildStep> | |
<runner class="org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail" plugin="run-condition@1.0"/> | |
</org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder> | |
</builders> | |
<publishers> | |
<org.jenkins__ci.plugins.flexible__publish.FlexiblePublisher plugin="flexible-publish@0.15.2"> | |
<publishers> | |
<org.jenkins__ci.plugins.flexible__publish.ConditionalPublisher> | |
<condition class="org.jenkins_ci.plugins.run_condition.core.AlwaysRun" plugin="run-condition@1.0"/> | |
<publisherList/> | |
<runner class="org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail" plugin="run-condition@1.0"/> | |
<executionStrategy class="org.jenkins_ci.plugins.flexible_publish.strategy.FailAtEndExecutionStrategy"/> | |
</org.jenkins__ci.plugins.flexible__publish.ConditionalPublisher> | |
</publishers> | |
</org.jenkins__ci.plugins.flexible__publish.FlexiblePublisher> | |
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.21"> | |
<includeFailedBuilds>true</includeFailedBuilds> | |
</hudson.tasks.test.AggregatedTestResultPublisher> | |
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.35.2"> | |
<configs> | |
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig> | |
<configs> | |
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> | |
<properties>REPO=${TEMP_REPO} | |
BRANCH_PREFIX=${BUILD_TAG} | |
DELETE_TEMP_BRANCH=${DELETE_TEMP_BRANCH} | |
</properties> | |
<textParamValueOnNewLine>false</textParamValueOnNewLine> | |
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> | |
</configs> | |
<projects>git-delete-branches</projects> | |
<condition>ALWAYS</condition> | |
<triggerWithNoParameters>false</triggerWithNoParameters> | |
<triggerFromChildProjects>false</triggerFromChildProjects> | |
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig> | |
</configs> | |
</hudson.plugins.parameterizedtrigger.BuildTrigger> | |
</publishers> | |
<buildWrappers> | |
<hudson.plugins.ansicolor.AnsiColorBuildWrapper plugin="ansicolor@0.5.2"> | |
<colorMapName>xterm</colorMapName> | |
</hudson.plugins.ansicolor.AnsiColorBuildWrapper> | |
</buildWrappers> | |
<pollSubjobs>false</pollSubjobs> | |
</com.tikal.jenkins.plugins.multijob.MultiJobProject> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment