diff options
author | wtgodbe <wigodbe@microsoft.com> | 2017-02-02 01:47:18 +0300 |
---|---|---|
committer | wtgodbe <wigodbe@microsoft.com> | 2017-02-02 01:47:18 +0300 |
commit | 33568e823d4da7e257adb5dac1a6cc99130c05de (patch) | |
tree | 6b939c256ca84e62df0138c8e64e73f52ec98689 /buildpipeline | |
parent | 2bbf0943bb405d01cb367a83f250bc4f21f70149 (diff) |
Add Linux Crossbuild to CoreFX pipeline
Diffstat (limited to 'buildpipeline')
-rw-r--r-- | buildpipeline/DotNet-CoreFx-Trusted-Linux-Crossbuild.json | 689 | ||||
-rw-r--r-- | buildpipeline/pipeline.json | 78 |
2 files changed, 765 insertions, 2 deletions
diff --git a/buildpipeline/DotNet-CoreFx-Trusted-Linux-Crossbuild.json b/buildpipeline/DotNet-CoreFx-Trusted-Linux-Crossbuild.json new file mode 100644 index 0000000000..6fee156098 --- /dev/null +++ b/buildpipeline/DotNet-CoreFx-Trusted-Linux-Crossbuild.json @@ -0,0 +1,689 @@ +{ + "build": [ + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Initialize tools", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(Build.SourcesDirectory)/init-tools.sh", + "arguments": "", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Docker cleanup", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(Build.SourcesDirectory)/Tools/scripts/docker/cleanup-docker.sh", + "arguments": "", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Clone repository", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "run --name $(DockerContainerName) $(DockerImageName) git clone $(GitHubRepo) $(GitHubDirectory)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Commit changes", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "commit $(DockerContainerName) $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Run clean.sh", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "run -w=\"$(GitHubDirectory)\" --name $(DockerContainerName) $(DockerContainerName) $(GitHubDirectory)/clean.sh", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Commit changes", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "commit $(DockerContainerName) $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Check out the specified commit", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "run -w=\"$(GitHubDirectory)\" --name $(DockerContainerName) $(DockerContainerName) git checkout $(Build.SourceVersion)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Commit changes", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "commit $(DockerContainerName) $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Run sync.sh", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "run -w=\"$(GitHubDirectory)\" --name $(DockerContainerName) $(DockerContainerName) $(GitHubDirectory)/sync.sh -p -- /p:ArchGroup=$(PB_Architecture)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Commit changes", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "commit $(DockerContainerName) $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Run build-rootfs.sh", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "sudo", + "arguments": "docker run --privileged -w=$(GitHubDirectory) --name $(DockerContainerName) $(DockerContainerName) $(GitHubDirectory)/cross/build-rootfs.sh $(PB_Architecture) $(CrossToolsetVersion) $(SkipUnmount)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Commit changes", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "commit $(DockerContainerName) $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Run build.sh", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "run -w=\"$(GitHubDirectory)\" --name $(DockerContainerName) $(DockerContainerName) $(GitHubDirectory)/build.sh -buildArch=$(PB_Architecture) -$(PB_ConfigurationGroup)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Commit changes", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "commit $(DockerContainerName) $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Cleanup RootFS", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "run --privileged -w=\"$(GitHubDirectory)\" --name $(DockerContainerName) $(DockerContainerName) git clean -xdf $(GitHubDirectory)/cross/", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Commit Changes", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "commit $(DockerContainerName) $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove Container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Run publish-packages.sh", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "run -w=\"$(GitHubDirectory)\" --name $(DockerContainerName) $(DockerContainerName) $(GitHubDirectory)/publish-packages.sh -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(Label) -- /p:OverwriteOnPublish=true", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Delete files from $(DockerCopyDest)", + "timeoutInMinutes": 0, + "task": { + "id": "b7e8b412-0437-4065-9371-edc5881de25b", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "SourceFolder": "$(DockerCopyDest)", + "Contents": "*" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": true, + "displayName": "Expose docker repo for publishing", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "cp $(DockerContainerName):$(GitHubDirectory) $(DockerCopyDest)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Remove container", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rm $(DockerContainerName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": true, + "displayName": "Run docker version", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "version", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": true, + "displayName": "Copy Publish Artifact: BuildLogs", + "timeoutInMinutes": 0, + "task": { + "id": "1d341bb0-2106-458c-8422-d00bcea6512a", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "CopyRoot": "$(DockerCopyDest)/coreclr", + "Contents": "**/*.log", + "ArtifactName": "BuildLogs", + "ArtifactType": "Container", + "TargetPath": "\\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)" + } + } + ], + "options": [ + { + "enabled": false, + "definition": { + "id": "7c555368-ca64-4199-add6-9ebaf0b0137d" + }, + "inputs": { + "multipliers": "[]", + "parallel": "false", + "continueOnError": "true", + "additionalFields": "{}" + } + }, + { + "enabled": false, + "definition": { + "id": "a9db38f9-9fdc-478c-b0f9-464221e58316" + }, + "inputs": { + "workItemType": "234347", + "assignToRequestor": "true", + "additionalFields": "{}" + } + }, + { + "enabled": false, + "definition": { + "id": "57578776-4c22-4526-aeb0-86b6da17ee9c" + }, + "inputs": { + "additionalFields": "{}" + } + } + ], + "variables": { + "system.debug": { + "value": "false", + "allowOverride": true + }, + "PB_ConfigurationGroup": { + "value": "Release" + }, + "GitHubRepo": { + "value": "http://github.com/dotnet/corefx.git" + }, + "GitHubDirectory": { + "value": "/root/corefx" + }, + "DockerContainerName": { + "value": "$(Build.BuildId)" + }, + "DockerImageName": { + "value": "$(DockerRepository):$(PB_DockerTag)" + }, + "DockerRepository": { + "value": "chcosta/dotnetcore" + }, + "PB_DockerTag": { + "value": "ubuntu1404_cross_prereqs_v1" + }, + "CloudDropAccountName": { + "value": "dotnetbuildoutput" + }, + "CloudDropAccessToken": { + "value": null, + "isSecret": true + }, + "OfficialBuildId": { + "value": "$(Build.BuildNumber)" + }, + "Label": { + "value": "$(Build.BuildNumber)" + }, + "GitHubBranch": { + "value": "sni_plus_latestbuildtools" + }, + "Priority": { + "value": "0" + }, + "RepoAccessToken": { + "value": null, + "isSecret": true + }, + "PB_Architecture": { + "value": "arm" + }, + "CommitToCheckout": { + "value": "HEAD", + "allowOverride": true + }, + "DockerCopyDest": { + "value": "$(Build.BinariesDirectory)/docker_repo" + }, + "portableLinux": { + "value": "" + }, + "CrossToolsetVersion": { + "value": "" + }, + "SkipUnmount": { + "value": "--SkipUnmount" + } + }, + "demands": [ + "Agent.OS -equals linux" + ], + "retentionRules": [ + { + "branches": [ + "+refs/heads/*" + ], + "artifacts": [], + "artifactTypesToDelete": [ + "FilePath", + "SymbolStore" + ], + "daysToKeep": 10, + "minimumToKeep": 1, + "deleteBuildRecord": true, + "deleteTestResults": true + } + ], + "buildNumberFormat": "$(date:yyyyMMdd)$(rev:-rr)", + "jobAuthorizationScope": "projectCollection", + "jobTimeoutInMinutes": 90, + "repository": { + "properties": { + "labelSources": "0", + "reportBuildStatus": "true", + "fetchDepth": "0", + "gitLfsSupport": "false", + "skipSyncSource": "false", + "cleanOptions": "0" + }, + "id": "58fa2458-e392-4373-ba2b-dd3ef0c2d7ce", + "type": "TfsGit", + "name": "DotNet-CoreFX-Trusted", + "url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-CoreFX-Trusted", + "defaultBranch": "refs/heads/master", + "clean": "true", + "checkoutSubmodules": false + }, + "quality": "definition", + "queue": { + "pool": { + "id": 39, + "name": "DotNet-Build" + }, + "id": 36, + "name": "DotNet-Build" + }, + "path": "\\", + "type": "build", + "id": 5192, + "name": "DotNet-CoreFx-Trusted-Linux-Crossbuild", + "url": "https://devdiv.visualstudio.com/DefaultCollection/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_apis/build/Definitions/5192", + "project": { + "id": "0bdbc590-a062-4c3f-b0f6-9383f67865ee", + "name": "DevDiv", + "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ", + "url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee", + "state": "wellFormed", + "revision": 418097483 + } +}
\ No newline at end of file diff --git a/buildpipeline/pipeline.json b/buildpipeline/pipeline.json index f347480642..4981af428f 100644 --- a/buildpipeline/pipeline.json +++ b/buildpipeline/pipeline.json @@ -157,6 +157,42 @@ ] }, { + "Name": "Trusted-All-Release-Linux-Crossbuild", + "Parameters": { + "TreatWarningsAsErrors": "false" + }, + "BuildParameters": { + "PB_ConfigurationGroup": "Release" + }, + "Definitions": [ + { + "Name": "DotNet-CoreFx-Trusted-Linux-Crossbuild", + "Parameters": { + "PB_DockerTag": "ubuntu1404_cross_prereqs_v1", + "PB_Architecture": "arm" + }, + "ReportingParameters": { + "OperatingSystem": "Ubuntu 14.04", + "Type": "build/product/", + "ConfigurationGroup": "Release" + } + }, + { + "Name": "DotNet-CoreFx-Trusted-Linux-Crossbuild", + "Parameters": { + "PB_DockerTag": "ubuntu1604_cross_prereqs_v1", + "PB_Architecture": "arm", + "CrossToolsetVersion": "xenial" + }, + "ReportingParameters": { + "OperatingSystem": "Ubuntu 16.04", + "Type": "build/product/", + "ConfigurationGroup": "Release" + } + } + ] + }, + { "Name": "Trusted-All-Release-OSX", "Parameters": { "TreatWarningsAsErrors": "false" @@ -408,6 +444,42 @@ ] }, { + "Name": "Trusted-All-Debug-Linux-Crossbuild", + "Parameters": { + "TreatWarningsAsErrors": "false" + }, + "BuildParameters": { + "PB_ConfigurationGroup": "Debug" + }, + "Definitions": [ + { + "Name": "DotNet-CoreFx-Trusted-Linux-Crossbuild", + "Parameters": { + "PB_DockerTag": "ubuntu1404_cross_prereqs_v1", + "PB_Architecture": "arm" + }, + "ReportingParameters": { + "OperatingSystem": "Ubuntu 14.04", + "Type": "build/product/", + "ConfigurationGroup": "Debug" + } + }, + { + "Name": "DotNet-CoreFx-Trusted-Linux-Crossbuild", + "Parameters": { + "PB_DockerTag": "ubuntu1604_cross_prereqs_v1", + "PB_Architecture": "arm", + "CrossToolsetVersion": "xenial" + }, + "ReportingParameters": { + "OperatingSystem": "Ubuntu 16.04", + "Type": "build/product/", + "ConfigurationGroup": "Debug" + } + } + ] + }, + { "Name": "Trusted-All-Debug-OSX", "Parameters": { "TreatWarningsAsErrors": "false" @@ -533,7 +605,8 @@ "DependsOn": [ "Trusted-All-Release-Windows", "Trusted-All-Release-OSX", - "Trusted-All-Release-Linux" + "Trusted-All-Release-Linux", + "Trusted-All-Release-Linux-Crossbuild" ] }, { @@ -561,7 +634,8 @@ "DependsOn": [ "Trusted-All-Debug-Windows", "Trusted-All-Debug-OSX", - "Trusted-All-Debug-Linux" + "Trusted-All-Debug-Linux", + "Trusted-All-Debug-Linux-Crossbuild" ] } ] |