-
Notifications
You must be signed in to change notification settings - Fork 256
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[master] Update dependencies from dotnet/arcade (#630)
[master] Update dependencies from dotnet/arcade - update build requirements - do not check for unsupported target frameworks
- Loading branch information
1 parent
223d750
commit 4b3da31
Showing
16 changed files
with
244 additions
and
58 deletions.
There are no files selected for viewing
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
parameters: | ||
# This template adds arcade-powered source-build to CI. The template produces a server job with a | ||
# default ID 'Source_Build_Complete' to put in a dependency list if necessary. | ||
|
||
# Specifies the prefix for source-build jobs added to pipeline. Use this if disambiguation needed. | ||
jobNamePrefix: 'Source_Build' | ||
|
||
# Defines the platform on which to run the job. By default, a linux-x64 machine, suitable for | ||
# managed-only repositories. This is an object with these properties: | ||
# | ||
# name: '' | ||
# The name of the job. This is included in the job ID. | ||
# targetRID: '' | ||
# The name of the target RID to use, instead of the one auto-detected by Arcade. | ||
# nonPortable: false | ||
# Enables non-portable mode. This means a more specific RID (e.g. fedora.32-x64 rather than | ||
# linux-x64), and compiling against distro-provided packages rather than portable ones. | ||
# container: '' | ||
# A container to use. Runs in docker. | ||
# pool: {} | ||
# A pool to use. Runs directly on an agent. | ||
# buildScript: '' | ||
# Specifies the build script to invoke to perform the build in the repo. The default | ||
# './build.sh' should work for typical Arcade repositories, but this is customizable for | ||
# difficult situations. | ||
# jobProperties: {} | ||
# A list of job properties to inject at the top level, for potential extensibility beyond | ||
# container and pool. | ||
platform: {} | ||
|
||
jobs: | ||
- job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }} | ||
displayName: Source-Build (${{ parameters.platform.name }}) | ||
|
||
${{ each property in parameters.platform.jobProperties }}: | ||
${{ property.key }}: ${{ property.value }} | ||
|
||
${{ if ne(parameters.platform.container, '') }}: | ||
container: ${{ parameters.platform.container }} | ||
${{ if ne(parameters.platform.pool, '') }}: | ||
pool: ${{ parameters.platform.pool }} | ||
|
||
workspace: | ||
clean: all | ||
|
||
steps: | ||
- template: /eng/common/templates/steps/source-build.yml | ||
parameters: | ||
platform: ${{ parameters.platform }} |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
parameters: | ||
# This template adds arcade-powered source-build to CI. A job is created for each platform, as | ||
# well as an optional server job that completes when all platform jobs complete. | ||
|
||
# The name of the "join" job for all source-build platforms. If set to empty string, the job is | ||
# not included. Existing repo pipelines can use this job depend on all source-build jobs | ||
# completing without maintaining a separate list of every single job ID: just depend on this one | ||
# server job. By default, not included. Recommended name if used: 'Source_Build_Complete'. | ||
allCompletedJobId: '' | ||
|
||
# See /eng/common/templates/job/source-build.yml | ||
jobNamePrefix: 'Source_Build' | ||
|
||
# If changed to true, causes this template to include the default platform for a managed-only | ||
# repo. The exact Docker image used for this build will be provided by Arcade. This has some risk, | ||
# but since the repo is supposed to be managed-only, the risk should be very low. | ||
includeDefaultManagedPlatform: false | ||
defaultManagedPlatform: | ||
name: 'Managed' | ||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343' | ||
|
||
# Defines the platforms on which to run build jobs. One job is created for each platform, and the | ||
# object in this array is sent to the job template as 'platform'. | ||
platforms: [] | ||
|
||
jobs: | ||
|
||
- ${{ if ne(parameters.allCompletedJobId, '') }}: | ||
- job: ${{ parameters.allCompletedJobId }} | ||
displayName: Source-Build Complete | ||
pool: server | ||
dependsOn: | ||
- ${{ each platform in parameters.platforms }}: | ||
- ${{ parameters.jobNamePrefix }}_${{ platform.name }} | ||
- ${{ if eq(parameters.includeDefaultManagedPlatform, true) }}: | ||
- ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }} | ||
|
||
- ${{ each platform in parameters.platforms }}: | ||
- template: /eng/common/templates/job/source-build.yml | ||
parameters: | ||
jobNamePrefix: ${{ parameters.jobNamePrefix }} | ||
platform: ${{ platform }} | ||
|
||
- ${{ if eq(parameters.includeDefaultManagedPlatform, true) }}: | ||
- template: /eng/common/templates/job/source-build.yml | ||
parameters: | ||
jobNamePrefix: ${{ parameters.jobNamePrefix }} | ||
platform: ${{ parameters.defaultManagedPlatform }} |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
parameters: | ||
# This template adds arcade-powered source-build to CI. | ||
|
||
# This is a 'steps' template, and is intended for advanced scenarios where the existing build | ||
# infra has a careful build methodology that must be followed. For example, a repo | ||
# (dotnet/runtime) might choose to clone the GitHub repo only once and store it as a pipeline | ||
# artifact for all subsequent jobs to use, to reduce dependence on a strong network connection to | ||
# GitHub. Using this steps template leaves room for that infra to be included. | ||
|
||
# Defines the platform on which to run the steps. See 'eng/common/templates/job/source-build.yml' | ||
# for details. The entire object is described in the 'job' template for simplicity, even though | ||
# the usage of the properties on this object is split between the 'job' and 'steps' templates. | ||
platform: {} | ||
|
||
steps: | ||
# Build. Keep it self-contained for simple reusability. (No source-build-specific job variables.) | ||
- script: | | ||
set -x | ||
df -h | ||
buildConfig=Release | ||
# Check if AzDO substitutes in a build config from a variable, and use it if so. | ||
if [ '$(_BuildConfig)' != '$''(_BuildConfig)' ]; then | ||
buildConfig='$(_BuildConfig)' | ||
fi | ||
officialBuildArgs= | ||
if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then | ||
officialBuildArgs='/p:DotNetPublishUsingPipelines=true /p:OfficialBuildId=$(BUILD.BUILDNUMBER)' | ||
fi | ||
targetRidArgs= | ||
if [ '${{ parameters.platform.targetRID }}' != '' ]; then | ||
targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}' | ||
fi | ||
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \ | ||
--configuration $buildConfig \ | ||
--restore --build --pack --publish \ | ||
$officialBuildArgs \ | ||
$targetRidArgs \ | ||
/p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \ | ||
/p:ArcadeBuildFromSource=true | ||
displayName: Build | ||
|
||
# Upload build logs for diagnosis. | ||
- task: CopyFiles@2 | ||
displayName: Prepare BuildLogs staging directory | ||
inputs: | ||
SourceFolder: '$(Build.SourcesDirectory)' | ||
Contents: | | ||
**/*.log | ||
**/*.binlog | ||
artifacts/source-build/self/prebuilt-report/** | ||
TargetFolder: '$(Build.StagingDirectory)/BuildLogs' | ||
CleanTargetFolder: true | ||
continueOnError: true | ||
condition: succeededOrFailed() | ||
|
||
- task: PublishPipelineArtifact@1 | ||
displayName: Publish BuildLogs | ||
inputs: | ||
targetPath: '$(Build.StagingDirectory)/BuildLogs' | ||
artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt) | ||
continueOnError: true | ||
condition: succeededOrFailed() |
Oops, something went wrong.