From 897facb2c009832a97f198629d3b5f897ea968aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Wed, 4 Oct 2017 12:06:39 +0100 Subject: [PATCH 01/37] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c36fb34..89fd11cb 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,15 @@ ### Welcome to the **nanoFramework** Core Library repository! +[![NuGet](https://img.shields.io/nuget/dt/nanoFramework.CoreLibrary.svg)]() [![#yourfirstpr](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](https://github.com/nanoframework/Home/blob/master/CONTRIBUTING.md) + ## Build status | Component | Build Status | NuGet Package | |:-|---|---| -| Class Libraries | [![Build status](https://ci.appveyor.com/api/projects/status/terbqvfdlw8po3cm?svg=true)](https://ci.appveyor.com/project/nfbot/nf-class-libraries) | [![NuGet](https://img.shields.io/nuget/dt/nanoFramework.CoreLibrary.svg)]() | +| Core Library | [![Build status](https://ci.appveyor.com/api/projects/status/5b37qa4h0o2ci3db/branch/master?svg=true)](https://ci.appveyor.com/project/nfbot/lib-corelibrary/branch/master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.CoreLibrary.svg)]() | +| Core Library (preview) | [![Build status](https://ci.appveyor.com/api/projects/status/5b37qa4h0o2ci3db?svg=true)](https://ci.appveyor.com/project/nfbot/lib-corelibrary) | [![NuGet](https://img.shields.io/nuget/vpre/nanoFramework.CoreLibrary.svg)]() | ## Feedback and documentation From b908dbc23678114659a7fbb493d85317a179f03b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Wed, 4 Oct 2017 12:09:23 +0100 Subject: [PATCH 02/37] Create GitVersion.yml --- GitVersion.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 GitVersion.yml diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 00000000..84882722 --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,28 @@ +next-version: 1.0.0 +assembly-versioning-scheme: MajorMinorPatch +build-metadata-padding: 3 +legacy-semver-padding: 3 +assembly-informational-format: '{LegacySemVerPadded}' +major-version-bump-message: '\+semver:\s?(breaking|major)' +minor-version-bump-message: '\+semver:\s?(feature|minor)' +patch-version-bump-message: '\+semver:\s?(fix|patch)' +commit-message-incrementing: MergeMessageOnly +branches: + master: + mode: ContinuousDelivery + tag: + increment: Patch + prevent-increment-of-merged-branch-version: true + track-merge-target: false + develop: + mode: ContinuousDeployment + tag: preview + increment: Minor + prevent-increment-of-merged-branch-version: false + track-merge-target: true + release: + tag: rc + (pull|pull\-requests|pr)[/-]: + tag: alpha +ignore: + sha: [] From 42ad9046cd7717135c81ad6a877ae378980cb383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 14:58:28 +0100 Subject: [PATCH 03/37] Update appveyor.yml --- appveyor.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index da55c8af..401002cc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -148,18 +148,19 @@ for: - /release.*/ deploy: + - provider: NuGet + api_key: + secure: NSRDXbS8tmzOy4wStGuO3yQMKI8Sk10vF8iQtz9ZDXEnHfwnuDdnXbr/Kno3MMvY + skip_symbols: true + on: + appveyor_repo_tag: true - provider: GitHub tag: v$(GitVersion_NuGetVersionV2) release: nanoFramework Core Library v$(gitversion_semver) - description: 'Check the [changelog](https://github.com/nanoframework/lib-CoreLibrary/blob/$(appveyor_repo_branch)/CHANGELOG.md)\n\n## Install from nanoFramework MyGet development feed\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.CoreLibrary/$(GitVersion_NuGetVersionV2)) v$(GitVersion_NuGetVersionV2)' + description: 'Check the [changelog](https://github.com/nanoframework/lib-CoreLibrary/blob/$(appveyor_repo_branch)/CHANGELOG.md)\n\n## Install from NuGet\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.nuget.org/packages/nanoFramework.CoreLibrary/$(GitVersion_NuGetVersionV2)) v$(GitVersion_NuGetVersionV2)' auth_token: secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S artifact: Nuget_Packages draft: true prerelease: true force_update: true - - after_deploy: - # for this environment variable to work here it has to be set in AppVeyor UI - - nuget push source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.%GitVersion_NuGetVersionV2%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package - - nuget push source\Nuget.CoreLibrary.DELIVERABLES\bin\Release\nanoFramework.CoreLibrary.DELIVERABLES.%GitVersion_NuGetVersionV2%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package From 1c0ee49e81c2095527aa76cf0931a2644a41fd54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 15:03:56 +0100 Subject: [PATCH 04/37] Update update-dependencies.ps1 --- update-dependencies.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index 8e01d23e..e7fd9e08 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -11,8 +11,8 @@ else # update dependencies for class libraries that depend ONLY on mscorlib # because it can take sometime for the package to become available on the NuGet providers - # need to hange here for 5 minutes - Start-Sleep -Milliseconds 5000 * 60 + # need to hange here for 5 minutes (5 * 60 * 1000) + Start-Sleep -Milliseconds 300000 $librariesToUpdate = ("lib-nanoFramework.Runtime.Events", "lib-nanoFramework.Runtime.Native", From 3bbb857a3a3c55f7290fa5a984bacfb5fcf2458c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 15:21:01 +0100 Subject: [PATCH 05/37] Update update-dependencies.ps1 --- update-dependencies.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index e7fd9e08..ba714dbe 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -45,7 +45,7 @@ else $solutionFile = (Get-ChildItem -Path ".\" -Include "*.sln" -Recurse) # run NuKeeper inspect - if ($string -like '*release*' -or $string -like '*master*') + if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $string -like '*master*') { # use NuGet ONLY for release and master branches $nukeeperInspect = NuKeeper inspect --source https://api.nuget.org/v3/index.json @@ -56,6 +56,9 @@ else $nukeeperInspect = NuKeeper inspect } + "NuGet update inspection result:" | Write-Host -ForegroundColor Blue + $nukeeperInspect | Write-Host -ForegroundColor White + $packageCountMatch = [regex]::Match($nukeeperInspect, "Found (\d) possible updates").captures.groups[1].value [int]$packageCount = 0 [int]::TryParse($packageCountMatch, [ref]$packageCount) From 693f38211711014f9c5ab98ba85bd48f3737329e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 15:55:12 +0100 Subject: [PATCH 06/37] Update update-dependencies.ps1 --- update-dependencies.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index ba714dbe..9bb2ca1d 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -70,7 +70,7 @@ else [array]$packageList = $packageListRaw.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries).Replace([Environment]::NewLine, "") # restore NuGet packages, need to do this before anything else - if ($string -like '*release*' -or $string -like '*master*') + if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $string -like '*master*') { # use NuGet ONLY for release and master branches nuget restore $solutionFile[0] -Source https://api.nuget.org/v3/index.json @@ -99,7 +99,7 @@ else $packageTargetVersion = $packageDetails.captures.Groups[6].Value.Trim(); # update package - if ($string -like '*release*' -or $string -like '*master*') + if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $string -like '*master*') { # use NuGet ONLY for release and master branches $updatePackage = nuget update $solutionFile[0].FullName -Source https://api.nuget.org/v3/index.json From d36b9677a980bf9c0dd5be9b8785fb7205694e77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 15:58:42 +0100 Subject: [PATCH 07/37] Update update-dependencies.ps1 --- update-dependencies.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index 9bb2ca1d..7f649211 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -45,7 +45,7 @@ else $solutionFile = (Get-ChildItem -Path ".\" -Include "*.sln" -Recurse) # run NuKeeper inspect - if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $string -like '*master*') + if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $env:APPVEYOR_REPO_BRANCH-like '*master*') { # use NuGet ONLY for release and master branches $nukeeperInspect = NuKeeper inspect --source https://api.nuget.org/v3/index.json @@ -70,7 +70,7 @@ else [array]$packageList = $packageListRaw.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries).Replace([Environment]::NewLine, "") # restore NuGet packages, need to do this before anything else - if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $string -like '*master*') + if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $env:APPVEYOR_REPO_BRANCH -like '*master*') { # use NuGet ONLY for release and master branches nuget restore $solutionFile[0] -Source https://api.nuget.org/v3/index.json @@ -99,7 +99,7 @@ else $packageTargetVersion = $packageDetails.captures.Groups[6].Value.Trim(); # update package - if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $string -like '*master*') + if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $env:APPVEYOR_REPO_BRANCH -like '*master*') { # use NuGet ONLY for release and master branches $updatePackage = nuget update $solutionFile[0].FullName -Source https://api.nuget.org/v3/index.json From 4ec1bd13c48690728c60a83e21914e422d951d47 Mon Sep 17 00:00:00 2001 From: nfbot Date: Mon, 15 Oct 2018 15:06:45 +0000 Subject: [PATCH 08/37] Update assembly info file for v1.0.1-rc001 [version update] --- source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs index ab365751..a566b6df 100644 --- a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs +++ b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs @@ -14,4 +14,4 @@ [assembly: AssemblyCopyright("Copyright © nanoFramework Contributors 2017")] [assembly: AssemblyVersion("1.0.1.0")] [assembly: AssemblyFileVersion("1.0.1.0")] -[assembly: AssemblyInformationalVersion("1.0.1-preview136")] +[assembly: AssemblyInformationalVersion("1.0.1-rc001")] From 0a6146b4eb9b98f407995c162e8434224e019fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 16:12:04 +0100 Subject: [PATCH 09/37] Update update-dependencies.ps1 --- update-dependencies.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index 7f649211..af682d13 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -12,6 +12,7 @@ else # because it can take sometime for the package to become available on the NuGet providers # need to hange here for 5 minutes (5 * 60 * 1000) + "Waiting 5 minutes to let package process flow in NuGet providers..." | Write-Host -ForegroundColor White Start-Sleep -Milliseconds 300000 $librariesToUpdate = ("lib-nanoFramework.Runtime.Events", From 22a51bf0fa661541feb805bd6a90d569a4504ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 16:16:54 +0100 Subject: [PATCH 10/37] Update update-dependencies.ps1 --- update-dependencies.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index af682d13..51144fd1 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -57,7 +57,7 @@ else $nukeeperInspect = NuKeeper inspect } - "NuGet update inspection result:" | Write-Host -ForegroundColor Blue + "NuGet update inspection result:" | Write-Host -ForegroundColor Cyan $nukeeperInspect | Write-Host -ForegroundColor White $packageCountMatch = [regex]::Match($nukeeperInspect, "Found (\d) possible updates").captures.groups[1].value From a2141daebd26ba8ebe5fb2a502743c762f8b7460 Mon Sep 17 00:00:00 2001 From: nfbot Date: Mon, 15 Oct 2018 16:28:19 +0000 Subject: [PATCH 11/37] Update assembly info file for v1.0.2-rc001 [version update] --- source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs index a566b6df..673e0f5c 100644 --- a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs +++ b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs @@ -12,6 +12,6 @@ [assembly: AssemblyCompany("nanoFramework Contributors")] [assembly: AssemblyProduct("nanoFramework mscorlib")] [assembly: AssemblyCopyright("Copyright © nanoFramework Contributors 2017")] -[assembly: AssemblyVersion("1.0.1.0")] -[assembly: AssemblyFileVersion("1.0.1.0")] -[assembly: AssemblyInformationalVersion("1.0.1-rc001")] +[assembly: AssemblyVersion("1.0.2.0")] +[assembly: AssemblyFileVersion("1.0.2.0")] +[assembly: AssemblyInformationalVersion("1.0.2-rc001")] From 053674bdd538c1356a73bd3ec8f85b356ae754b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 17:45:06 +0100 Subject: [PATCH 12/37] Update appveyor.yml --- appveyor.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 401002cc..7f12c0df 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -66,16 +66,14 @@ build_script: msbuild source\nanoFramework.CoreLibrary.sln /p:Configuration=Release /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" -artifacts: -- path: '**\bin\Release\*.nupkg' - name: Nuget_Packages - before_deploy: - ps: >- .\commit-assemblyinfo-changes.ps1 .\generate-change-log.ps1 + Push-AppveyorArtifact $env:APPVEYOR_BUILD_FOLDER\source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.%GitVersion_NuGetVersionV2%.nupkg + # requires APPVEYOR_DISCORD_WEBHOOK_URL enviroment variable set with Discord webhook URL on_failure: - ps: | @@ -113,7 +111,7 @@ for: description: 'Check the [changelog](https://github.com/nanoframework/lib-CoreLibrary/blob/master/CHANGELOG.md)\n\n## Install from NuGet\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.nuget.org/packages/nanoFramework.CoreLibrary/$(GitVersion_NuGetVersionV2)) v$(GitVersion_NuGetVersionV2)' auth_token: secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S - artifact: Nuget_Packages + artifact: source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.$(GitVersion_NuGetVersionV2).nupkg draft: true prerelease: true force_update: true @@ -132,7 +130,7 @@ for: description: 'Check the [changelog](https://github.com/nanoframework/lib-CoreLibrary/blob/develop/CHANGELOG.md)\n\n## Install from nanoFramework MyGet development feed\n\nThe following NuGet packages are available for download from this release\n\npackage: [.NET](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.CoreLibrary/$(GitVersion_NuGetVersionV2)) v$(GitVersion_NuGetVersionV2)' auth_token: secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S - artifact: Nuget_Packages + artifact: source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.$(GitVersion_NuGetVersionV2).nupkg draft: true prerelease: true force_update: true @@ -160,7 +158,7 @@ for: description: 'Check the [changelog](https://github.com/nanoframework/lib-CoreLibrary/blob/$(appveyor_repo_branch)/CHANGELOG.md)\n\n## Install from NuGet\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.nuget.org/packages/nanoFramework.CoreLibrary/$(GitVersion_NuGetVersionV2)) v$(GitVersion_NuGetVersionV2)' auth_token: secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S - artifact: Nuget_Packages + artifact: source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.$(GitVersion_NuGetVersionV2).nupkg draft: true prerelease: true force_update: true From cbfe3b001589bdd501d3f22fde59de5da76f0d89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 18:17:36 +0100 Subject: [PATCH 13/37] Update appveyor.yml --- appveyor.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 7f12c0df..40d7854a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -100,8 +100,7 @@ for: deploy: - provider: NuGet - api_key: - secure: NSRDXbS8tmzOy4wStGuO3yQMKI8Sk10vF8iQtz9ZDXEnHfwnuDdnXbr/Kno3MMvY + api_key: $(NuGetToken) skip_symbols: true on: appveyor_repo_tag: true @@ -111,7 +110,7 @@ for: description: 'Check the [changelog](https://github.com/nanoframework/lib-CoreLibrary/blob/master/CHANGELOG.md)\n\n## Install from NuGet\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.nuget.org/packages/nanoFramework.CoreLibrary/$(GitVersion_NuGetVersionV2)) v$(GitVersion_NuGetVersionV2)' auth_token: secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S - artifact: source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.$(GitVersion_NuGetVersionV2).nupkg + artifact: draft: true prerelease: true force_update: true @@ -147,8 +146,7 @@ for: deploy: - provider: NuGet - api_key: - secure: NSRDXbS8tmzOy4wStGuO3yQMKI8Sk10vF8iQtz9ZDXEnHfwnuDdnXbr/Kno3MMvY + api_key: $(NuGetToken) skip_symbols: true on: appveyor_repo_tag: true @@ -158,7 +156,7 @@ for: description: 'Check the [changelog](https://github.com/nanoframework/lib-CoreLibrary/blob/$(appveyor_repo_branch)/CHANGELOG.md)\n\n## Install from NuGet\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.nuget.org/packages/nanoFramework.CoreLibrary/$(GitVersion_NuGetVersionV2)) v$(GitVersion_NuGetVersionV2)' auth_token: secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S - artifact: source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.$(GitVersion_NuGetVersionV2).nupkg + artifact: draft: true prerelease: true force_update: true From ea944c18f21117b93ae9965103e8aa770421cf72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 15 Oct 2018 18:23:06 +0100 Subject: [PATCH 14/37] Update appveyor.yml --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 40d7854a..7132997e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -72,7 +72,7 @@ before_deploy: .\generate-change-log.ps1 - Push-AppveyorArtifact $env:APPVEYOR_BUILD_FOLDER\source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.%GitVersion_NuGetVersionV2%.nupkg + Push-AppveyorArtifact $env:APPVEYOR_BUILD_FOLDER\source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.$env:GitVersion_NuGetVersionV2.nupkg # requires APPVEYOR_DISCORD_WEBHOOK_URL enviroment variable set with Discord webhook URL on_failure: From fbd9e2919742a0bcfc7d570389a4e43ff7fb26ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 10:22:24 +0100 Subject: [PATCH 15/37] Update appveyor.yml --- appveyor.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 7132997e..fe8f925d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,6 +9,8 @@ image: Visual Studio 2017 skip_tags: false +skip_branch_with_pr: true + test: off pull_requests: @@ -112,15 +114,13 @@ for: secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S artifact: draft: true - prerelease: true + prerelease: false force_update: true - branches: only: - /dev.*/ - - skip_branch_with_pr: true deploy: - provider: GitHub From 3fc1704325e1a652b525db56b3e0cb7a20df1693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 12:42:32 +0100 Subject: [PATCH 16/37] Update appveyor.yml --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index fe8f925d..8b54b316 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -47,6 +47,7 @@ init: - ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:GitHubToken):x-oauth-basic@github.com`n" - git config --global user.email "%GitHubUserEmail%" - git config --global user.name "%GitHubUserName%" + - ps: "$headers = if($env:APPVEYOR_PULL_REQUEST_NUMBER){\n @{\n \"Authorization\" = \"Basic $env:GitRestAuth\"\n \"Content-type\" = \"application/json\"\n}\n\n$pr = Invoke-RestMethod -Uri \"https://api.github.com/repos/nanoframework/nf-interpreter/pulls/$env:APPVEYOR_PULL_REQUEST_NUMBER\" -Headers $headers -Method GET\n\nif($pr.user.login -eq \"nfbot\" -and $pr.body -match \"\\[version update\\]\")\n{\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n} }\n" install: - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH% From bfe123f63f12463bdadc8bb6a84b9abcd4fa9d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 14:19:34 +0100 Subject: [PATCH 17/37] Update commit-assemblyinfo-changes.ps1 --- commit-assemblyinfo-changes.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commit-assemblyinfo-changes.ps1 b/commit-assemblyinfo-changes.ps1 index 8cfedcaf..c13870f5 100644 --- a/commit-assemblyinfo-changes.ps1 +++ b/commit-assemblyinfo-changes.ps1 @@ -7,7 +7,7 @@ else { # updated assembly info files git add "source\nanoFramework.CoreLibrary\System\AssemblyInfo2.cs" - git commit -m "Update assembly info file for v$env:GitVersion_NuGetVersionV2" -m"[version update]" + git commit -m "Update assembly info file for v$env:GitVersion_NuGetVersionV2 [skip ci]" -m"[version update]" git push origin --porcelain -q > $null 'Updated assembly info...' | Write-Host -ForegroundColor White -NoNewline From de5b589a320d397ba1d1e12b10eff1ecd1b84b32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 14:20:00 +0100 Subject: [PATCH 18/37] Update generate-change-log.ps1 --- generate-change-log.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/generate-change-log.ps1 b/generate-change-log.ps1 index dc676db7..6e917c06 100644 --- a/generate-change-log.ps1 +++ b/generate-change-log.ps1 @@ -15,6 +15,5 @@ else # updated changelog and the updated assembly info files git add CHANGELOG.md git commit -m "Update CHANGELOG for v$env:GitVersion_NuGetVersionV2" - # need to wrap the git command bellow so it doesn't throw an error because of redirecting the output to stderr - "$(git push origin)" + git push origin --porcelain -q > $null } From 39210210dae1756220c28a218d9e467e3ae845e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 14:46:01 +0100 Subject: [PATCH 19/37] Update appveyor.yml --- appveyor.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 8b54b316..21f830b2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -42,12 +42,13 @@ environment: secure: E3bCMe4LtDdAhHSYRcLp0N6DixJe1m8TNxhYeJW/GnqM3WXdRqsgkHSbwootPjJQtOQJrps4twmzTVzofLSVgPgbzU8PxU0AkJV7zwkyVOE= init: - - git config --global core.autocrlf true - - git config --global credential.helper store - - ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:GitHubToken):x-oauth-basic@github.com`n" - - git config --global user.email "%GitHubUserEmail%" - - git config --global user.name "%GitHubUserName%" - - ps: "$headers = if($env:APPVEYOR_PULL_REQUEST_NUMBER){\n @{\n \"Authorization\" = \"Basic $env:GitRestAuth\"\n \"Content-type\" = \"application/json\"\n}\n\n$pr = Invoke-RestMethod -Uri \"https://api.github.com/repos/nanoframework/nf-interpreter/pulls/$env:APPVEYOR_PULL_REQUEST_NUMBER\" -Headers $headers -Method GET\n\nif($pr.user.login -eq \"nfbot\" -and $pr.body -match \"\\[version update\\]\")\n{\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n} }\n" +- git config --global core.autocrlf true +- git config --global credential.helper store +- ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:GitHubToken):x-oauth-basic@github.com`n" +- git config --global user.email "%GitHubUserEmail%" +- git config --global user.name "%GitHubUserName%" +- ps: "$headers = if($env:APPVEYOR_PULL_REQUEST_NUMBER){\n @{\n \"Authorization\" = \"Basic $env:GitRestAuth\"\n \"Content-type\" = \"application/json\"\n}\n\n$pr = Invoke-RestMethod -Uri \"https://api.github.com/repos/nanoframework/nf-interpreter/pulls/$env:APPVEYOR_PULL_REQUEST_NUMBER\" -Headers $headers -Method GET\n\nif($pr.user.login -eq \"nfbot\" -and $pr.body -match \"*[version update]*\")\n{\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n} }\n" +- ps: "if($env:APPVEYOR_PULL_REQUEST_NUMBER -eq \"\")\n{\n \n if($env:APPVEYOR_REPO_COMMIT_AUTHOR -eq \"nfbot\" -and $env:APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED -like \"*[version update]*\")\n {\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n }\n}" install: - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH% From 911da73d65d0a6341a37757ce2367f2dda44de02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 15:46:55 +0100 Subject: [PATCH 20/37] Update appveyor.yml --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 21f830b2..e464a8ab 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -47,7 +47,7 @@ init: - ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:GitHubToken):x-oauth-basic@github.com`n" - git config --global user.email "%GitHubUserEmail%" - git config --global user.name "%GitHubUserName%" -- ps: "$headers = if($env:APPVEYOR_PULL_REQUEST_NUMBER){\n @{\n \"Authorization\" = \"Basic $env:GitRestAuth\"\n \"Content-type\" = \"application/json\"\n}\n\n$pr = Invoke-RestMethod -Uri \"https://api.github.com/repos/nanoframework/nf-interpreter/pulls/$env:APPVEYOR_PULL_REQUEST_NUMBER\" -Headers $headers -Method GET\n\nif($pr.user.login -eq \"nfbot\" -and $pr.body -match \"*[version update]*\")\n{\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n} }\n" +- ps: "$headers = if($env:APPVEYOR_PULL_REQUEST_NUMBER){\n @{\n \"Authorization\" = \"Basic $env:GitRestAuth\"\n \"Content-type\" = \"application/json\"\n}\n\n$pr = Invoke-RestMethod -Uri \"https://api.github.com/repos/$env:APPVEYOR_REPO_NAME/pulls/$env:APPVEYOR_PULL_REQUEST_NUMBER\" -Headers $headers -Method GET\n\nif($pr.user.login -eq \"nfbot\" -and $pr.body -match \"*[version update]*\")\n{\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n} }\n" - ps: "if($env:APPVEYOR_PULL_REQUEST_NUMBER -eq \"\")\n{\n \n if($env:APPVEYOR_REPO_COMMIT_AUTHOR -eq \"nfbot\" -and $env:APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED -like \"*[version update]*\")\n {\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n }\n}" install: From c0d48f11fbc82aad0f5eacfe30de2d37a23ef193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 16:01:42 +0100 Subject: [PATCH 21/37] Update appveyor.yml --- appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index e464a8ab..ced2ca5b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,6 +4,7 @@ branches: - master - /dev.*/ - /release.*/ + - /v.*/ image: Visual Studio 2017 @@ -101,6 +102,7 @@ for: branches: only: - master + - /v.*/ deploy: - provider: NuGet From 8e350ec469c2d438db6f6bf7f73cab3c2a1a63de Mon Sep 17 00:00:00 2001 From: nfbot Date: Tue, 16 Oct 2018 15:40:43 +0000 Subject: [PATCH 22/37] Update assembly info file for v1.0.2 [skip ci] [version update] --- source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs index 673e0f5c..5ebefaaf 100644 --- a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs +++ b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs @@ -14,4 +14,4 @@ [assembly: AssemblyCopyright("Copyright © nanoFramework Contributors 2017")] [assembly: AssemblyVersion("1.0.2.0")] [assembly: AssemblyFileVersion("1.0.2.0")] -[assembly: AssemblyInformationalVersion("1.0.2-rc001")] +[assembly: AssemblyInformationalVersion("1.0.2")] From a34acfc8c5342a8a52f4cf19e96c81930042639b Mon Sep 17 00:00:00 2001 From: nfbot Date: Tue, 16 Oct 2018 15:41:06 +0000 Subject: [PATCH 23/37] Update CHANGELOG for v1.0.2 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4a62bfc..3e3778fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ **Documentation and other chores:** +- Merge 'develop' for Release 1.0.2 [\#44](https://github.com/nanoframework/lib-CoreLibrary/pull/44) - Add all missing comments for documentation and Intellisense [\#18](https://github.com/nanoframework/lib-CoreLibrary/pull/18) [[documentation](https://github.com/nanoframework/lib-CoreLibrary/labels/documentation)] - Update comment on Random class [\#9](https://github.com/nanoframework/lib-CoreLibrary/pull/9) [[documentation](https://github.com/nanoframework/lib-CoreLibrary/labels/documentation)] From cbaabef743e1d5cc259724e9cf57423e58c38612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 17:00:11 +0100 Subject: [PATCH 24/37] Update update-dependencies.ps1 --- update-dependencies.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index 51144fd1..d8400f8d 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -1,10 +1,10 @@ # Copyright (c) 2018 The nanoFramework project contributors # See LICENSE file in the project root for full license information. -# only need to update dependencies when build is NOT for a pull-request -if ($env:appveyor_pull_request_number) +# skip updating dependencies if build is a pull-request or not a tag +if ($env:appveyor_pull_request_number -or $env:APPVEYOR_REPO_TAG -eq 'false') { - 'Skip updating dependencies as this is a PR build...' | Write-Host -ForegroundColor White + 'Skip updating dependencies...' | Write-Host -ForegroundColor White } else { From 1dabad990e985d7a1e014ac263c55babe35e9610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 17:00:28 +0100 Subject: [PATCH 25/37] Update appveyor.yml --- appveyor.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index ced2ca5b..1132a3b8 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,10 +1,4 @@ -# configuration these branches -branches: - only: - - master - - /dev.*/ - - /release.*/ - - /v.*/ +# configuration for all branches image: Visual Studio 2017 From f2120d1358eb62609b8b6384ddc4c372e5ae94df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 17:05:02 +0100 Subject: [PATCH 26/37] Update commit-assemblyinfo-changes.ps1 --- commit-assemblyinfo-changes.ps1 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/commit-assemblyinfo-changes.ps1 b/commit-assemblyinfo-changes.ps1 index c13870f5..807e3169 100644 --- a/commit-assemblyinfo-changes.ps1 +++ b/commit-assemblyinfo-changes.ps1 @@ -1,7 +1,10 @@ -# only need to commit assembly info changes when build is NOT for a pull-request -if ($env:appveyor_pull_request_number) +# Copyright (c) 2018 The nanoFramework project contributors +# See LICENSE file in the project root for full license information. + +# skip updating assembly info changes if build is a pull-request or not a tag +if ($env:appveyor_pull_request_number -or $env:APPVEYOR_REPO_TAG -eq 'false') { - 'Skip committing assembly info changes as this is a PR build...' | Write-Host -ForegroundColor White + 'Skip committing assembly info changes...' | Write-Host -ForegroundColor White } else { From b5fa4782192b365995f6f1558e01b7873d08c6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 17:26:17 +0100 Subject: [PATCH 27/37] Update CHANGELOG.md --- CHANGELOG.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e3778fc..8068e6c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,7 @@ # Change Log -## [**Changes available only in 'Preview' NuGet packages:**](https://github.com/nanoframework/lib-CoreLibrary/tree/HEAD) - -[Full Changelog](https://github.com/nanoframework/lib-CoreLibrary/compare/v1.0.0-preview028...HEAD) +## [v1.0.2](https://github.com/nanoframework/lib-CoreLibrary/tree/v1.0.2) (2017-08-31) +[Full Changelog](https://github.com/nanoframework/lib-CoreLibrary/compare/v1.0.0-preview027...v1.0.2) **Implemented enhancements:** @@ -106,4 +105,4 @@ ## [v1.0.0-preview005](https://github.com/nanoframework/lib-CoreLibrary/tree/v1.0.0-preview005) (2017-04-28) -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* From 87b5ca6bb186a8c1e7eaf23c70c5a0ba156f45af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Tue, 16 Oct 2018 20:25:11 +0100 Subject: [PATCH 28/37] Improve CI & CD scripts to deal with release and master branches (#46) --- appveyor.yml | 10 ++++----- commit-assemblyinfo-changes.ps1 | 7 ++++-- generate-change-log.ps1 | 23 ++++++++++++++----- update-dependencies.ps1 | 40 +++++++-------------------------- 4 files changed, 35 insertions(+), 45 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 1132a3b8..590fc60b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -73,6 +73,11 @@ before_deploy: Push-AppveyorArtifact $env:APPVEYOR_BUILD_FOLDER\source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.$env:GitVersion_NuGetVersionV2.nupkg +after_deploy: +# for this environment variable to work here it has to be set in AppVeyor UI +- nuget push source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.%GitVersion_NuGetVersionV2%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package +- nuget push source\Nuget.CoreLibrary.DELIVERABLES\bin\Release\nanoFramework.CoreLibrary.DELIVERABLES.%GitVersion_NuGetVersionV2%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package + # requires APPVEYOR_DISCORD_WEBHOOK_URL enviroment variable set with Discord webhook URL on_failure: - ps: | @@ -132,11 +137,6 @@ for: prerelease: true force_update: true - after_deploy: - # for this environment variable to work here it has to be set in AppVeyor UI - - nuget push source\Nuget.CoreLibrary\bin\Release\nanoFramework.CoreLibrary.%GitVersion_NuGetVersionV2%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package - - nuget push source\Nuget.CoreLibrary.DELIVERABLES\bin\Release\nanoFramework.CoreLibrary.DELIVERABLES.%GitVersion_NuGetVersionV2%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package - - branches: only: diff --git a/commit-assemblyinfo-changes.ps1 b/commit-assemblyinfo-changes.ps1 index 807e3169..7991a2e0 100644 --- a/commit-assemblyinfo-changes.ps1 +++ b/commit-assemblyinfo-changes.ps1 @@ -1,8 +1,11 @@ # Copyright (c) 2018 The nanoFramework project contributors # See LICENSE file in the project root for full license information. -# skip updating assembly info changes if build is a pull-request or not a tag -if ($env:appveyor_pull_request_number -or $env:APPVEYOR_REPO_TAG -eq 'false') +# skip updating assembly info changes if build is a pull-request or not a tag (master OR release) +if ($env:appveyor_pull_request_number -or + ($env:APPVEYOR_REPO_BRANCH -eq "master" -and $env:APPVEYOR_REPO_TAG -eq 'true') -or + ($env:APPVEYOR_REPO_BRANCH -match "^release*" -and $env:APPVEYOR_REPO_TAG -eq 'true') -or + $env:APPVEYOR_REPO_TAG -eq "true") { 'Skip committing assembly info changes...' | Write-Host -ForegroundColor White } diff --git a/generate-change-log.ps1 b/generate-change-log.ps1 index 6e917c06..bacb255a 100644 --- a/generate-change-log.ps1 +++ b/generate-change-log.ps1 @@ -1,16 +1,27 @@ -# generate change log when build is NOT for a pull-request -if ($env:appveyor_pull_request_number) +# generate change log when build is NOT a pull-request or not a tag (master OR release) +if ($env:appveyor_pull_request_number -or + ($env:APPVEYOR_REPO_BRANCH -eq "master" -and $env:APPVEYOR_REPO_TAG -eq 'true') -or + ($env:APPVEYOR_REPO_BRANCH -match "^release*" -and $env:APPVEYOR_REPO_TAG -eq 'true') -or + $env:APPVEYOR_REPO_TAG -eq "true") { - 'Skip change log processing as this is a PR build...' | Write-Host -ForegroundColor White + 'Skip change log processing...' | Write-Host -ForegroundColor White } else { # need this to keep ruby happy md c:\tmp - # generate change log - # version includes commits - bundle exec github_changelog_generator --token $env:GitHubToken + if ($env:APPVEYOR_REPO_BRANCH -eq "master" -or $env:APPVEYOR_REPO_BRANCH -match "^release*") + { + # generate change log including future version + bundle exec github_changelog_generator --token $env:GitHubToken --future-release "v$env:GitVersion_MajorMinorPatch" + } + else + { + # generate change log + # version includes commits + bundle exec github_changelog_generator --token $env:GitHubToken + } # updated changelog and the updated assembly info files git add CHANGELOG.md diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index d8400f8d..340477e8 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -1,8 +1,11 @@ # Copyright (c) 2018 The nanoFramework project contributors # See LICENSE file in the project root for full license information. -# skip updating dependencies if build is a pull-request or not a tag -if ($env:appveyor_pull_request_number -or $env:APPVEYOR_REPO_TAG -eq 'false') +# skip updating dependencies if build is a pull-request or not a tag (master OR release) +if ($env:appveyor_pull_request_number -or + ($env:APPVEYOR_REPO_BRANCH -eq "master" -and $env:APPVEYOR_REPO_TAG -eq 'false') -or + ($env:APPVEYOR_REPO_BRANCH -match "^release*" -and $env:APPVEYOR_REPO_TAG -eq 'false') -or + $env:APPVEYOR_REPO_TAG -eq "false") { 'Skip updating dependencies...' | Write-Host -ForegroundColor White } @@ -46,16 +49,7 @@ else $solutionFile = (Get-ChildItem -Path ".\" -Include "*.sln" -Recurse) # run NuKeeper inspect - if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $env:APPVEYOR_REPO_BRANCH-like '*master*') - { - # use NuGet ONLY for release and master branches - $nukeeperInspect = NuKeeper inspect --source https://api.nuget.org/v3/index.json - } - else - { - # use NuGet and MyGet for all others - $nukeeperInspect = NuKeeper inspect - } + $nukeeperInspect = NuKeeper inspect "NuGet update inspection result:" | Write-Host -ForegroundColor Cyan $nukeeperInspect | Write-Host -ForegroundColor White @@ -71,16 +65,7 @@ else [array]$packageList = $packageListRaw.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries).Replace([Environment]::NewLine, "") # restore NuGet packages, need to do this before anything else - if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $env:APPVEYOR_REPO_BRANCH -like '*master*') - { - # use NuGet ONLY for release and master branches - nuget restore $solutionFile[0] -Source https://api.nuget.org/v3/index.json - } - else - { - # use NuGet and MyGet for all others - nuget restore $solutionFile[0] -Source https://www.myget.org/F/nanoframework-dev/api/v3/index.json -Source https://api.nuget.org/v3/index.json - } + nuget restore $solutionFile[0] -Source https://www.myget.org/F/nanoframework-dev/api/v3/index.json -Source https://api.nuget.org/v3/index.json # rename nfproj files to csproj Get-ChildItem -Path ".\" -Include "*.nfproj" -Recurse | @@ -100,16 +85,7 @@ else $packageTargetVersion = $packageDetails.captures.Groups[6].Value.Trim(); # update package - if ($env:APPVEYOR_REPO_BRANCH -like '*release*' -or $env:APPVEYOR_REPO_BRANCH -like '*master*') - { - # use NuGet ONLY for release and master branches - $updatePackage = nuget update $solutionFile[0].FullName -Source https://api.nuget.org/v3/index.json - } - else - { - # use NuGet and MyGet for all others - $updatePackage = nuget update $solutionFile[0].FullName -Source https://www.myget.org/F/nanoframework-dev/api/v3/index.json -Source https://api.nuget.org/v3/index.json - } + $updatePackage = nuget update $solutionFile[0].FullName -Source https://www.myget.org/F/nanoframework-dev/api/v3/index.json -Source https://api.nuget.org/v3/index.json # grab csproj from update output $projectPath = [regex]::Match($updatePackage, "((project ')(.*)(', targeting))").captures.Groups[3].Value From 01d6940039d42d9d8da39d442c1ef08cb6290dab Mon Sep 17 00:00:00 2001 From: nfbot Date: Tue, 16 Oct 2018 19:28:48 +0000 Subject: [PATCH 29/37] Update assembly info file for v1.0.3 [skip ci] [version update] --- source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs index 5ebefaaf..1080683a 100644 --- a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs +++ b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs @@ -12,6 +12,6 @@ [assembly: AssemblyCompany("nanoFramework Contributors")] [assembly: AssemblyProduct("nanoFramework mscorlib")] [assembly: AssemblyCopyright("Copyright © nanoFramework Contributors 2017")] -[assembly: AssemblyVersion("1.0.2.0")] -[assembly: AssemblyFileVersion("1.0.2.0")] -[assembly: AssemblyInformationalVersion("1.0.2")] +[assembly: AssemblyVersion("1.0.3.0")] +[assembly: AssemblyFileVersion("1.0.3.0")] +[assembly: AssemblyInformationalVersion("1.0.3")] From d6e581822918953038a17f00cf11d36483e6f397 Mon Sep 17 00:00:00 2001 From: nfbot Date: Tue, 16 Oct 2018 19:29:17 +0000 Subject: [PATCH 30/37] Update CHANGELOG for v1.0.3 --- CHANGELOG.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8068e6c3..4c80041f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,15 @@ # Change Log -## [v1.0.2](https://github.com/nanoframework/lib-CoreLibrary/tree/v1.0.2) (2017-08-31) -[Full Changelog](https://github.com/nanoframework/lib-CoreLibrary/compare/v1.0.0-preview027...v1.0.2) +## [v1.0.3](https://github.com/nanoframework/lib-CoreLibrary/tree/v1.0.3) (2018-10-16) +[Full Changelog](https://github.com/nanoframework/lib-CoreLibrary/compare/v1.0.2...v1.0.3) + +**Documentation and other chores:** + +- Improve CI & CD scripts to deal with release and master branches [\#46](https://github.com/nanoframework/lib-CoreLibrary/pull/46) +- merge Release 1.0.2 branch [\#45](https://github.com/nanoframework/lib-CoreLibrary/pull/45) + +## [v1.0.2](https://github.com/nanoframework/lib-CoreLibrary/tree/v1.0.2) (2018-10-16) +[Full Changelog](https://github.com/nanoframework/lib-CoreLibrary/compare/v1.0.0-preview028...v1.0.2) **Implemented enhancements:** @@ -105,4 +113,4 @@ ## [v1.0.0-preview005](https://github.com/nanoframework/lib-CoreLibrary/tree/v1.0.0-preview005) (2017-04-28) -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file From 343e2201228600bf3f424d3b005736e9e9a8cfc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Wed, 17 Oct 2018 10:08:37 +0100 Subject: [PATCH 31/37] Improve CI & CD (#47) --- commit-assemblyinfo-changes.ps1 | 8 +++++++- generate-change-log.ps1 | 3 +++ update-dependencies.ps1 | 5 ++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/commit-assemblyinfo-changes.ps1 b/commit-assemblyinfo-changes.ps1 index 7991a2e0..59dbef7d 100644 --- a/commit-assemblyinfo-changes.ps1 +++ b/commit-assemblyinfo-changes.ps1 @@ -18,6 +18,12 @@ else 'Updated assembly info...' | Write-Host -ForegroundColor White -NoNewline 'OK' | Write-Host -ForegroundColor Green +} + +# update assembly info in nf-interpreter if we are in development branch or if this is tag (master OR release) +if ($env:APPVEYOR_REPO_BRANCH -match "^dev*" -or $env:APPVEYOR_REPO_TAG -eq "true") +{ + 'Updating assembly version in nf-interpreter...' | Write-Host -ForegroundColor White -NoNewline # clone nf-interpreter repo (only a shallow clone with last commit) git clone https://github.com/nanoframework/nf-interpreter -b develop --depth 1 -q @@ -57,7 +63,7 @@ else # commit changes git add -A 2>&1 - git commit -m"$commitMessage" -m"[version update]" -q + git commit -m"$commitMessage [skip ci]" -m"[version update]" -q git push --set-upstream origin "$newBranch" --porcelain -q > $null # start PR diff --git a/generate-change-log.ps1 b/generate-change-log.ps1 index bacb255a..a9d33954 100644 --- a/generate-change-log.ps1 +++ b/generate-change-log.ps1 @@ -1,3 +1,6 @@ +# Copyright (c) 2018 The nanoFramework project contributors +# See LICENSE file in the project root for full license information. + # generate change log when build is NOT a pull-request or not a tag (master OR release) if ($env:appveyor_pull_request_number -or ($env:APPVEYOR_REPO_BRANCH -eq "master" -and $env:APPVEYOR_REPO_TAG -eq 'true') -or diff --git a/update-dependencies.ps1 b/update-dependencies.ps1 index 340477e8..207886bd 100644 --- a/update-dependencies.ps1 +++ b/update-dependencies.ps1 @@ -169,7 +169,10 @@ else git push --set-upstream origin $newBranchName --porcelain -q # start PR - $prRequestBody = @{title="$prTitle";body="$commitMessage";head="$newBranchName";base="$env:APPVEYOR_REPO_BRANCH"} | ConvertTo-Json + # we are hardcoding to develop branch to have a fixed one + # this is very important for tags (which don't have branch information) + # considering that the base branch can be changed at the PR ther is no big deal about this + $prRequestBody = @{title="$prTitle";body="$commitMessage";head="$newBranchName";base="develop"} | ConvertTo-Json $githubApiEndpoint = "https://api.github.com/repos/nanoframework/$library/pulls" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 From 6118afbe0b09c112f7818742c717098c5a97d51c Mon Sep 17 00:00:00 2001 From: nfbot Date: Wed, 17 Oct 2018 09:18:27 +0000 Subject: [PATCH 32/37] Update assembly info file for v1.0.4 [skip ci] [version update] --- source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs index 1080683a..b83cdd0f 100644 --- a/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs +++ b/source/nanoFramework.CoreLibrary/System/AssemblyInfo2.cs @@ -12,6 +12,6 @@ [assembly: AssemblyCompany("nanoFramework Contributors")] [assembly: AssemblyProduct("nanoFramework mscorlib")] [assembly: AssemblyCopyright("Copyright © nanoFramework Contributors 2017")] -[assembly: AssemblyVersion("1.0.3.0")] -[assembly: AssemblyFileVersion("1.0.3.0")] -[assembly: AssemblyInformationalVersion("1.0.3")] +[assembly: AssemblyVersion("1.0.4.0")] +[assembly: AssemblyFileVersion("1.0.4.0")] +[assembly: AssemblyInformationalVersion("1.0.4")] From 01c4e5706fb4d44b45e0b3db738790e0318cedb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Wed, 17 Oct 2018 10:46:45 +0100 Subject: [PATCH 33/37] Update appveyor.yml - Add config to publish release drafts only when this is not a tag build --- appveyor.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 590fc60b..f65c0a65 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -119,6 +119,8 @@ for: draft: true prerelease: false force_update: true + on: + appveyor_repo_tag: false - branches: @@ -136,6 +138,8 @@ for: draft: true prerelease: true force_update: true + on: + appveyor_repo_tag: false - branches: @@ -158,3 +162,5 @@ for: draft: true prerelease: true force_update: true + on: + appveyor_repo_tag: false From bfe49c0e698ef0af770cf20e7133a8b6c94b9a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 14 Dec 2018 11:00:58 +0000 Subject: [PATCH 34/37] Work CD-CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove PR config allowing all PRs to trigger a build. Signed-off-by: José Simões --- azure-pipelines.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b5a22ba8..1277852d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -16,14 +16,6 @@ trigger: # include: # - v/* -pr: - branches: - include: - - master - - develop - - release/* - autoCancel: true - # add nf-tools repo to resources (for Azure Pipelines templates) resources: repositories: From 79e7a56f2bc98c1d962cb469d10350b024bacb80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 14 Dec 2018 11:09:53 +0000 Subject: [PATCH 35/37] Update Azure DevOps badge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Simões --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 07e1b2eb..7b7a1fc4 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ | Component | Build Status | NuGet Package | |:-|---|---| -| Core Library | [![Build status](https://ci.appveyor.com/api/projects/status/5b37qa4h0o2ci3db/branch/master?svg=true)](https://ci.appveyor.com/project/nfbot/lib-corelibrary/branch/master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.CoreLibrary.svg)](https://www.nuget.org/packages/nanoFramework.CoreLibrary/) | -| Core Library (preview) | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24) | [![MyGet Pre Release](https://img.shields.io/myget/nanoframework-dev/vpre/nanoFramework.CoreLibrary.svg)](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.CoreLibrary) | +| Core Library | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.CoreLibrary.svg)](https://www.nuget.org/packages/nanoFramework.CoreLibrary/) | +| Core Library (preview) | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=develop) | [![MyGet Pre Release](https://img.shields.io/myget/nanoframework-dev/vpre/nanoFramework.CoreLibrary.svg)](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.CoreLibrary) | ## Feedback and documentation From fe3868e2e62591fe4e94e993b17f7ffa28434932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 14 Dec 2018 11:42:11 +0000 Subject: [PATCH 36/37] Set version to 1.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Simões --- source/version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/version.json b/source/version.json index a2029e38..51a7e9dc 100644 --- a/source/version.json +++ b/source/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "1.0.6-preview.{height}", + "version": "1.1.0", "assemblyVersion": { "precision": "revision" }, From fd7790f67f5eeba63898868ff8a1f2c30e7c210d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 14 Dec 2018 11:53:13 +0000 Subject: [PATCH 37/37] Update Nerdbank.GitVersioning to 2.2.33 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Simões --- source/nanoFramework.CoreLibrary/CoreLibrary.nfproj | 2 +- source/nanoFramework.CoreLibrary/packages.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/nanoFramework.CoreLibrary/CoreLibrary.nfproj b/source/nanoFramework.CoreLibrary/CoreLibrary.nfproj index e4e2c55d..4b945850 100644 --- a/source/nanoFramework.CoreLibrary/CoreLibrary.nfproj +++ b/source/nanoFramework.CoreLibrary/CoreLibrary.nfproj @@ -375,7 +375,7 @@ - + diff --git a/source/nanoFramework.CoreLibrary/packages.config b/source/nanoFramework.CoreLibrary/packages.config index 00e74454..96e35ee3 100644 --- a/source/nanoFramework.CoreLibrary/packages.config +++ b/source/nanoFramework.CoreLibrary/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file