2022-02-17 23:34:25 +03:00
# Copyright (c) .NET Foundation and Contributors
# See LICENSE file in the project root for full license information.
2019-08-22 13:24:41 +03:00
trigger :
branches :
2022-02-17 23:34:25 +03:00
include :
- main
- develop
- release-*
2019-08-22 13:24:41 +03:00
paths :
2022-02-17 23:34:25 +03:00
exclude :
- .github_changelog_generator
- .gitignore
- CHANGELOG.md
- CODE_OF_CONDUCT.md
- LICENSE.md
- README.md
- NuGet.Config
- assets/*
- config/*
- .github/*
2022-04-26 13:59:02 +03:00
- Tests/*
2022-02-17 23:34:25 +03:00
2020-06-17 10:36:56 +03:00
# PR always trigger build
2021-11-12 21:34:56 +03:00
pr :
autoCancel : true
2019-08-22 13:24:41 +03:00
# add nf-tools repo to resources (for Azure Pipelines templates)
resources :
repositories :
- repository : templates
type : github
name : nanoframework/nf-tools
endpoint : nanoframework
pool :
2022-02-17 23:34:25 +03:00
vmImage : 'windows-latest'
2019-08-22 13:24:41 +03:00
variables :
2024-01-18 16:28:36 +03:00
- group : sign-client-credentials
- name : DOTNET_NOLOGO
value : true
- name : buildPlatform
value : 'Any CPU'
- name : buildConfiguration
value : 'Release'
- name : solution
value : 'nanoFramework.M5Stack.sln'
- name : nugetPackageName
value : 'nanoFramework.M5Core'
2019-08-22 13:24:41 +03:00
steps :
# step from template @ nf-tools repo
2021-10-27 19:40:57 +03:00
# build steps only
- template : azure-pipelines-templates/class-lib-build-only.yml@templates
2019-08-22 13:24:41 +03:00
parameters :
2019-09-25 11:52:30 +03:00
sonarCloudProject : 'nanoframework_lib-nanoFramework.M5Stack'
2019-08-22 13:24:41 +03:00
2021-10-27 19:40:57 +03:00
# package steps
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
2021-12-28 20:50:47 +03:00
nugetPackageName : 'nanoFramework.M5Core'
2021-10-27 19:40:57 +03:00
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
nugetPackageName : 'nanoFramework.M5StickC'
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
nugetPackageName : 'nanoFramework.M5StickCPlus'
2021-11-09 11:29:10 +03:00
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
nugetPackageName : 'nanoFramework.M5Core2'
2022-01-31 20:53:08 +03:00
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
nugetPackageName : 'nanoFramework.AtomLite'
2022-02-03 20:44:54 +03:00
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
nugetPackageName : 'nanoFramework.AtomMatrix'
2022-03-14 11:57:13 +03:00
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
nugetPackageName : 'nanoFramework.Fire'
2022-05-31 19:29:23 +03:00
- template : azure-pipelines-templates/class-lib-package.yml@templates
parameters :
nugetPackageName : 'nanoFramework.Tough'
2022-03-14 11:57:13 +03:00
2021-10-27 19:40:57 +03:00
- template : azure-pipelines-templates/class-lib-publish.yml@templates
2022-04-21 16:31:02 +03:00
# create GitHub release from main branche
2021-10-27 19:40:57 +03:00
- task : GithubRelease@1
2022-02-17 23:34:25 +03:00
condition : >-
and(
succeeded(),
eq(variables['System.PullRequest.PullRequestId'], ''),
2022-04-21 16:31:02 +03:00
startsWith(variables['Build.SourceBranch'], 'refs/heads/main'),
2022-02-17 23:34:25 +03:00
not(contains(variables['Build.SourceBranch'], 'preview')),
ne(variables['StartReleaseCandidate'], true)
)
2022-04-21 16:31:02 +03:00
displayName : Create GitHub stable release
2021-10-27 19:40:57 +03:00
inputs :
action : edit
gitHubConnection : 'github.com_nano-$(System.TeamProject)'
tagSource : userSpecifiedTag
tag : v$(MY_NUGET_VERSION)
2022-07-07 17:29:34 +03:00
title : 'M5Stack Board Support Packages v$(MY_NUGET_VERSION)'
2021-10-27 19:40:57 +03:00
releaseNotesSource : inline
2022-07-07 17:18:45 +03:00
releaseNotesInline: 'Check the [changelog]($(Build.Repository.Uri)/blob/$(Build.SourceBranchName)/CHANGELOG.md).<br><br><h4>Install from NuGet</h4><br>The following NuGet packages are available for download from this release:<br>:package: [M5Core](https://www.nuget.org/packages/nanoFramework.M5Core/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [M5Core2](https://www.nuget.org/packages/nanoFramework.M5Core2/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [M5StickC](https://www.nuget.org/packages/nanoFramework.M5StickC/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [M5StickCPlus](https://www.nuget.org/packages/nanoFramework.M5StickCPlus/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [M5Stack Fire](https://www.nuget.org/packages/nanoFramework.Fire/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [Atom Lite](https://www.nuget.org/packages/nanoFramework.AtomLite/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [Atom Matrix](https://www.nuget.org/packages/nanoFramework.AtomMatrix/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package : [ Tough](https://www.nuget.org/packages/nanoFramework.Tough/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)'
2021-10-27 19:40:57 +03:00
assets : '$(Build.ArtifactStagingDirectory)/$(nugetPackageName).$(MY_NUGET_VERSION).nupkg'
isPreRelease : false
addChangeLog : false
2019-08-22 13:24:41 +03:00
# step from template @ nf-tools repo
# report error
- template : azure-pipelines-templates/discord-webhook-task.yml@templates
parameters :
status : 'failure'
webhookUrl : '$(DiscordWebhook)'
2021-10-27 20:01:05 +03:00
message : ''