This repository has been archived by the owner on Jun 22, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2b7e3c1
commit baabaed
Showing
5 changed files
with
148 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Azure Pipelines Build Files | ||
These `.yaml` files are used by Windows Azure DevOps Pipelines to help execute the following types of builds: | ||
|
||
- Pull request validation on Linux (Mono / .NET Core) | ||
- Pull request validation on Windows (.NET Framework / .NET Core) | ||
- NuGet releases with automatic release notes posted to a Github Release repository. | ||
|
||
**NOTE**: you will need to change some of the pipeline variables inside the `windows-release.yaml` for your specific project and you will also want to create variable groups with your signing and NuGet push information. |
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,45 @@ | ||
parameters: | ||
name: '' | ||
displayName: '' | ||
vmImage: '' | ||
scriptFileName: '' | ||
scriptArgs: 'all' | ||
timeoutInMinutes: 120 | ||
|
||
jobs: | ||
- job: ${{ parameters.name }} | ||
displayName: ${{ parameters.displayName }} | ||
timeoutInMinutes: ${{ parameters.timeoutInMinutes }} | ||
pool: | ||
vmImage: ${{ parameters.vmImage }} | ||
steps: | ||
- checkout: self # self represents the repo where the initial Pipelines YAML file was found | ||
clean: false # whether to fetch clean each time | ||
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules | ||
persistCredentials: true | ||
# Linux or macOS | ||
- task: Bash@3 | ||
displayName: Linux / OSX Build | ||
inputs: | ||
filePath: ${{ parameters.scriptFileName }} | ||
arguments: ${{ parameters.scriptArgs }} | ||
continueOnError: true | ||
condition: in( variables['Agent.OS'], 'Linux', 'Darwin' ) | ||
# Windows | ||
- task: BatchScript@1 | ||
displayName: Windows Build | ||
inputs: | ||
filename: ${{ parameters.scriptFileName }} | ||
arguments: ${{ parameters.scriptArgs }} | ||
continueOnError: true | ||
condition: eq( variables['Agent.OS'], 'Windows_NT' ) | ||
- task: PublishTestResults@2 | ||
inputs: | ||
testRunner: VSTest | ||
testResultsFiles: '**/*.trx' #TestResults folder usually | ||
testRunTitle: ${{ parameters.name }} | ||
mergeTestResults: true | ||
- script: 'echo 1>&2' | ||
failOnStderr: true | ||
displayName: 'If above is partially succeeded, then fail' | ||
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') |
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,26 @@ | ||
# Release task for PbLib projects | ||
# See https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for reference | ||
|
||
pool: | ||
vmImage: vs2017-win2016 | ||
demands: Cmd | ||
|
||
trigger: none | ||
pr: none | ||
|
||
schedules: | ||
- cron: "0 0 * * *" | ||
displayName: Daily midnight build | ||
branches: | ||
include: | ||
- dev | ||
|
||
variables: | ||
- group: nugetKeys #create this group with SECRET variables `nugetKey` | ||
|
||
steps: | ||
- task: BatchScript@1 | ||
displayName: 'FAKE Build' | ||
inputs: | ||
filename: build.cmd | ||
arguments: 'Nuget nugetprerelease=dev nugetpublishurl=$(nightlyUrl) nugetkey=$(nightlyKey)' |
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,30 @@ | ||
# Pull request validation for Windows against the `dev` and `master` branches | ||
# See https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for reference | ||
trigger: | ||
branches: | ||
include: | ||
- dev | ||
- master | ||
|
||
pr: | ||
autoCancel: true # indicates whether additional pushes to a PR should cancel in-progress runs for the same PR. Defaults to true | ||
branches: | ||
include: [ dev, master ] # branch names which will trigger a build | ||
|
||
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) | ||
|
||
jobs: | ||
- template: azure-pipeline.template.yaml | ||
parameters: | ||
name: 'windows_pr' | ||
displayName: 'Windows PR Validation' | ||
vmImage: 'vs2017-win2016' | ||
scriptFileName: build.cmd | ||
scriptArgs: all | ||
- template: azure-pipeline.template.yaml | ||
parameters: | ||
name: 'linux_pr' | ||
displayName: 'Linux PR Validation' | ||
vmImage: 'ubuntu-16.04' | ||
scriptFileName: ./build.sh | ||
scriptArgs: all |
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,39 @@ | ||
# Release task for PbLib projects | ||
# See https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for reference | ||
|
||
pool: | ||
vmImage: vs2017-win2016 | ||
demands: Cmd | ||
|
||
trigger: | ||
branches: | ||
include: | ||
- refs/tags/* | ||
pr: none | ||
|
||
variables: | ||
- group: signingSecrets | ||
- group: nugetKeys | ||
- name: githubConnectionName | ||
value: Petabridge | ||
- name: projectName | ||
value: Petabridge.Tracing.Zipkin | ||
- name: githubRepositoryName | ||
value: petabridge/Petabridge.Tracing.Zipkin | ||
|
||
steps: | ||
- task: BatchScript@1 | ||
displayName: 'FAKE Build' | ||
inputs: | ||
filename: build.cmd | ||
arguments: 'All SignClientUser=$(signingUsername) SignClientSecret=$(signingPassword) nugetpublishurl=https://www.nuget.org/api/v2/package nugetkey=$(nugetKey)' | ||
|
||
- task: GitHubRelease@0 | ||
displayName: 'GitHub release (create)' | ||
inputs: | ||
gitHubConnection: $(githubConnectionName) | ||
repositoryName: $(githubRepositoryName) | ||
title: '$(projectName) v$(Build.SourceBranchName)' | ||
releaseNotesFile: 'RELEASE_NOTES.md' | ||
assets: | | ||
bin\nuget\*.nupkg |