Skip to content

Commit

Permalink
Merge branch 'release/2.1' into release/2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Nate McMaster committed Nov 8, 2018
2 parents 99b874c + f320a7d commit 9bc79b2
Show file tree
Hide file tree
Showing 6 changed files with 152 additions and 35 deletions.
19 changes: 0 additions & 19 deletions .azure/pipelines/ci-internal.yml

This file was deleted.

15 changes: 0 additions & 15 deletions .azure/pipelines/ci-public.yml

This file was deleted.

2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
.NET Extensions
===============

[![Build Status](https://dev.azure.com/dnceng/public/_apis/build/status/aspnet/Extensions/Extensions-ci)](https://dev.azure.com/dnceng/public/_build/latest?definitionId=23)

.NET Extensions is an open-source, cross-platform set of APIs for commonly used programming patterns and utilities, such as dependency injection, logging, and app configuration. Most of the API in this project is meant to work on many .NET platforms, such as .NET Core, .NET Framework, Xamarin, and others. While commonly used in ASP.NET Core applications, these APIs are not coupled to the ASP.NET Core application model. They can be used in console apps, WinForms and WPF, and others.

## Get Started
Expand Down
40 changes: 40 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#
# See https://docs.microsoft.com/en-us/vsts/pipelines/yaml-schema for details
#

# Only run CI builds for these branches
trigger:
branches:
include:
- 'master'
- 'release/*'
# Run PR validation on all branches
pr:
branches:
include:
- '*'

name: $(Date:yyMMdd)-$(Rev:rr)

jobs:
- template: eng/templates/default-build.yml
parameters:
agentOs: Windows
configuration: Release
codeSign: true
buildArgs: |
'/p:PublishBlobFeedKey=$(PB_PublishBlobFeedKey)'
artifacts:
publish: true
name: packages
path: artifacts/Release/packages/

- template: eng/templates/default-build.yml
parameters:
agentOs: macOS
configuration: Release

- template: eng/templates/default-build.yml
parameters:
agentOs: Linux
configuration: Release
2 changes: 1 addition & 1 deletion build/repo.targets
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<BuildDependsOn Condition="'$(Configuration)' == 'Release' AND '$(OS)' == 'Windows_NT' AND $(PublishType.Contains('blob'))" >$(BuildDependsOn);PublishToProdCon</BuildDependsOn>
</PropertyGroup>

<Target Name="TagCiBuilds" Condition=" '$(CI)' == 'true' ">
<Target Name="TagCiBuilds" Condition=" '$(CI)' == 'true' AND '$(BUILD_REASON)' != 'PullRequest' ">
<Message Importance="high" Text="##vso[build.addbuildtag]daily-build" Condition=" '$(IsFinalBuild)' != 'true' " />
<Message Importance="high" Text="##vso[build.addbuildtag]release-candidate" Condition=" '$(IsFinalBuild)' == 'true' " />
</Target>
Expand Down
109 changes: 109 additions & 0 deletions eng/templates/default-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# default-build.yml
#
# Description: Defines a build phase for invoking build.sh/cmd
#
# Parameters:
# configuration: string
# Release or Debug
# agentOs: string
# Used in templates to define variables which are OS specific. Typically from the set { Windows, Linux, macOS }
# buildArgs: string
# Additional arguments to pass to the build.sh/cmd script.
# Note: -ci is always passed
# artifacts:
# publish: boolean
# Should artifacts be published
# path: string
# The file path to artifacts output
# name: string
# The name of the artifact container
# codeSign: boolean
# This build definition is enabled for code signing. (Only applies to Windows)

#
# See https://docs.microsoft.com/en-us/vsts/pipelines/yaml-schema for details
#

parameters:
agentOs: 'Windows'
poolName: ''
buildArgs: ''
configuration: 'Release'
codeSign: false
artifacts:
publish: false
name: ''
path: 'artifacts/'

jobs:
- job: ${{ parameters.agentOs }}
workspace:
clean: all
# Map friendly OS names to the right queue
# See https://github.com/dotnet/arcade/blob/master/Documentation/ChoosingAMachinePool.md
pool:
${{ if and(eq(parameters.poolName, ''), eq(parameters.agentOs, 'macOS')) }}:
name: Hosted macOS
vmImage: macOS-10.13
${{ if and(eq(parameters.poolName, ''), eq(parameters.agentOs, 'Linux')) }}:
name: Hosted Ubuntu 1604
vmImage: ubuntu-16.04
${{ if and(eq(parameters.poolName, ''), eq(parameters.agentOs, 'Windows')) }}:
${{ if ne(variables['System.TeamProject'], 'internal') }}:
name: Hosted VS2017
vmImage: vs2017-win2016
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: dotnet-internal-temp
variables:
AgentOsName: ${{ parameters.agentOs }}
ASPNETCORE_TEST_LOG_MAXPATH: "200" # Keep test log file name length low enough for artifact zipping
DOTNET_HOME: $(Agent.WorkFolder)/.dotnet
BuildScriptArgs: ${{ parameters.buildArgs }}
BuildConfiguration: ${{ parameters.configuration }}
VSTS_OVERWRITE_TEMP: false # Workaround for https://github.com/dotnet/core-eng/issues/2812
${{ if or(ne(parameters.codeSign, 'true'), ne(variables['System.TeamProject'], 'internal')) }}:
_SignType:
${{ if and(eq(parameters.codeSign, 'true'), eq(variables['System.TeamProject'], 'internal')) }}:
TeamName: AspNetCore
_SignType: real
steps:
- checkout: self
clean: true
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), eq(parameters.agentOs, 'Windows'), eq(parameters.codeSign, 'true')) }}:
- task: MicroBuildSigningPlugin@1
displayName: Install MicroBuild Signing plugin
condition: and(succeeded(), in(variables['_SignType'], 'test', 'real'))
inputs:
signType: $(_SignType)
zipSources: false
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
- ${{ if eq(parameters.agentOs, 'Windows') }}:
- script: .\build.cmd -ci /p:SignType=$(_SignType) /p:Configuration=$(BuildConfiguration) $(BuildScriptArgs)
displayName: Run build.cmd
- ${{ if ne(parameters.agentOs, 'Windows') }}:
- script: ./build.sh -ci -p:Configuration=$(BuildConfiguration) $(BuildScriptArgs)
displayName: Run build.sh
- task: PublishTestResults@2
displayName: Publish test results
condition: always()
inputs:
testRunTitle: $(AgentOsName)-$(BuildConfiguration)
testRunner: vstest
testResultsFiles: 'artifacts/logs/**/*.trx'
mergeTestResults: true
- ${{ if eq(parameters.artifacts.publish, 'true') }}:
- task: PublishBuildArtifacts@1
displayName: Upload artifacts
condition: eq(variables['system.pullrequest.isfork'], false)
inputs:
pathtoPublish: ${{ parameters.artifacts.path }}
${{ if eq(parameters.artifacts.name, '') }}:
artifactName: artifacts-$(AgentOsName)-$(BuildConfiguration)
${{ if ne(parameters.artifacts.name, '') }}:
artifactName: ${{ parameters.artifacts.name }}
artifactType: Container
parallel: true
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), eq(parameters.agentOs, 'Windows')) }}:
- task: MicroBuildCleanup@1
displayName: Cleanup MicroBuild tasks
condition: always()

0 comments on commit 9bc79b2

Please sign in to comment.