Skip to content

Commit ca47777

Browse files
committed
Work CD-CI
- ZIP files are now added to artifacts. - GitHub release is now created on build from master. - Drop preview from version. - Bump release version to 1.4.2.
1 parent 216add0 commit ca47777

File tree

8 files changed

+77
-32
lines changed

8 files changed

+77
-32
lines changed

azure-pipelines-templates/build-chibios-stm32.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ steps:
88

99
- task: CMake@1
1010
inputs:
11-
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version).$(NBGV_VersionHeight) -DCHIBIOS_BOARD=$(BoardName) $(BuildOptions) -DTOOL_HEX2DFU_PREFIX=$(HEX2DFU_PATH) ..'
11+
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version) -DCHIBIOS_BOARD=$(BoardName) $(BuildOptions) -DTOOL_HEX2DFU_PREFIX=$(HEX2DFU_PATH) ..'
1212
workingDirectory: ${{ parameters.buildDirectory }}
1313
displayName: Setup build with CMake and DFU
1414
condition: eq(variables['NeedsDFU'], true)
1515

1616
- task: CMake@1
1717
inputs:
18-
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version).$(NBGV_VersionHeight) -DCHIBIOS_BOARD=$(BoardName) $(BuildOptions) ..'
18+
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version) -DCHIBIOS_BOARD=$(BoardName) $(BuildOptions) ..'
1919
workingDirectory: ${{ parameters.buildDirectory }}
2020
displayName: Setup build with CMake without DFU
2121
condition: eq(variables['NeedsDFU'], false)

azure-pipelines-templates/build-esp32.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ parameters:
77
steps:
88
- task: CMake@1
99
inputs:
10-
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.xtensa-esp32-elf.cmake -DTOOLCHAIN_PREFIX=$(ESP32_TOOLCHAIN_PATH) -DESP32_IDF_PATH=$(ESP32_IDF_PATH) -DESP32_LIBS_PATH=$(ESP32_LIBS_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version).$(NBGV_VersionHeight) -DESP32_BOARD=$(BoardName) $(BuildOptions) ..'
10+
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.xtensa-esp32-elf.cmake -DTOOLCHAIN_PREFIX=$(ESP32_TOOLCHAIN_PATH) -DESP32_IDF_PATH=$(ESP32_IDF_PATH) -DESP32_LIBS_PATH=$(ESP32_LIBS_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version) -DESP32_BOARD=$(BoardName) $(BuildOptions) ..'
1111
workingDirectory: ${{ parameters.buildDirectory }}
1212
displayName: Setup build with CMake
1313

azure-pipelines-templates/build-freertos-nxp.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ steps:
88

99
- task: CMake@1
1010
inputs:
11-
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version).$(NBGV_VersionHeight) -DFREERTOS_BOARD=$(BoardName) $(BuildOptions) -DTOOL_SRECORD_PREFIX=$(SRECORD_PATH)/srecord/ ..'
11+
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version) -DFREERTOS_BOARD=$(BoardName) $(BuildOptions) -DTOOL_SRECORD_PREFIX=$(SRECORD_PATH)/srecord/ ..'
1212
workingDirectory: ${{ parameters.buildDirectory }}
1313
displayName: Setup build with CMake
1414

azure-pipelines-templates/build-ti-simplelink.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ steps:
88

99
- task: CMake@1
1010
inputs:
11-
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version).$(NBGV_VersionHeight) -DTI_BOARD=$(BoardName) $(BuildOptions) ..'
11+
cmakeArgs: '-G Ninja -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain.arm-none-eabi.cmake -DTOOLCHAIN_PREFIX=$(GNU_GCC_TOOLCHAIN_PATH) -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_VERSION=$(NBGV_Version) -DTI_BOARD=$(BoardName) $(BuildOptions) ..'
1212
workingDirectory: ${{ parameters.buildDirectory }}
1313
displayName: Setup build with CMake
1414

azure-pipelines-templates/pack-publish-artifacts.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,3 @@ steps:
1717
flattenFolders: true
1818
condition: and( succeeded(), ne(variables['Build.Reason'], 'PullRequest') )
1919
displayName: Collecting deployable artifacts
20-
21-
- task: PublishBuildArtifacts@1
22-
inputs:
23-
PathtoPublish: '$(Build.ArtifactStagingDirectory)\$(BoardName)'
24-
ArtifactName: $(BoardName)
25-
ArtifactType: Container
26-
condition: and( succeeded(), ne(variables['Build.Reason'], 'PullRequest') )
27-
displayName: Publish deployables artifacts

azure-pipelines-templates/publish-bintray.yml

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,53 @@ steps:
1010
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\$(BoardName)'
1111
includeRootFolder: false
1212
archiveType: 'zip'
13-
archiveFile: '$(Agent.TempDirectory)\$(BoardName)-$(NBGV_SimpleVersion)$(NBGV_PrereleaseVersion).zip'
13+
archiveFile: '$(Agent.TempDirectory)\$(BoardName)-$(NBGV_AssemblyVersion).zip'
14+
replaceExistingArchive: true
15+
# skip task on PR build and when on branch other than master or nf community targets
16+
# execute on 'ForceUpload' parameter
17+
condition: or( eq(variables['ForceUpload'], true), and( succeeded(), ne(variables['Build.Reason'], 'PullRequest'), or( eq(variables['Build.SourceBranchName'], 'master'), eq(variables['Build.Repository_Name'], 'nf-Community-Targets')) ) )
18+
displayName: Zip binary files
19+
20+
- task: CopyFiles@1
21+
inputs:
22+
sourceFolder: $(Agent.TempDirectory)
23+
Contents: |
24+
'$(Agent.TempDirectory)\$(BoardName)-$(NBGV_AssemblyVersion).zip'
25+
TargetFolder: '$(Build.ArtifactStagingDirectory)\$(BoardName)'
26+
flattenFolders: true
27+
condition: or( eq(variables['ForceUpload'], true), and( succeeded(), ne(variables['Build.Reason'], 'PullRequest'), or( eq(variables['Build.SourceBranchName'], 'master'), eq(variables['Build.Repository_Name'], 'nf-Community-Targets')) ) )
28+
displayName: Collecting deployable artifacts
29+
30+
- task: ArchiveFiles@2
31+
inputs:
32+
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\$(BoardName)'
33+
includeRootFolder: false
34+
archiveType: 'zip'
35+
archiveFile: '$(Agent.TempDirectory)\$(BoardName)-$(NBGV_AssemblyVersion)-preview.zip'
1436
replaceExistingArchive: true
1537
# skip task on PR build and when on branch other than develop, master or release
1638
# execute on 'ForceUpload' parameter
17-
condition: or( eq(variables['ForceUpload'], true), and( succeeded(), ne(variables['Build.Reason'], 'PullRequest'), or( eq(variables['Build.SourceBranchName'], 'develop'), eq(variables['Build.SourceBranchName'], 'master'), contains(variables['Build.SourceBranchName'], 'release') ) ) )
39+
condition: or( eq(variables['ForceUpload'], true), and( succeeded(), ne(variables['Build.Reason'], 'PullRequest'), or( contains(variables['Build.SourceBranchName'], 'develop'), contains(variables['Build.SourceBranchName'], 'release') ) ) )
1840
displayName: Zip binary files
1941

42+
- task: CopyFiles@1
43+
inputs:
44+
sourceFolder: $(Agent.TempDirectory)
45+
Contents: |
46+
'$(Agent.TempDirectory)\$(BoardName)-$(NBGV_AssemblyVersion)-preview.zip'
47+
TargetFolder: '$(Build.ArtifactStagingDirectory)\$(BoardName)'
48+
flattenFolders: true
49+
condition: or( eq(variables['ForceUpload'], true), and( succeeded(), ne(variables['Build.Reason'], 'PullRequest'), or( contains(variables['Build.SourceBranchName'], 'develop'), contains(variables['Build.SourceBranchName'], 'release') ) ) )
50+
displayName: Collecting deployable artifacts
51+
52+
- task: PublishBuildArtifacts@1
53+
inputs:
54+
PathtoPublish: '$(Build.ArtifactStagingDirectory)\$(BoardName)'
55+
ArtifactName: $(BoardName)
56+
ArtifactType: Container
57+
condition: and( succeeded(), ne(variables['Build.Reason'], 'PullRequest') )
58+
displayName: Publish deployables artifacts
59+
2060
- task: PowerShell@2
2161
inputs:
2262
targetType: 'inline'
@@ -32,6 +72,8 @@ steps:
3272
{
3373
# this is a build for a community target
3474
Write-Host "$("##vso[task.setvariable variable=BINTRAY_REPO]")nanoframework-images-community-targets"
75+
# set package name
76+
Write-Host "$("##vso[task.setvariable variable=PACKAGE_NAME]")$(BoardName)-$(NBGV_AssemblyVersion)"
3577
}
3678
else
3779
{
@@ -40,11 +82,15 @@ steps:
4082
{
4183
# this a dev or release branch, publish to Bintray dev repo
4284
Write-Host "$("##vso[task.setvariable variable=BINTRAY_REPO]")nanoframework-images-dev"
85+
# set package name
86+
Write-Host "$("##vso[task.setvariable variable=PACKAGE_NAME]")$(BoardName)-$(NBGV_AssemblyVersion)-preview"
4387
}
4488
else
4589
{
4690
# this master branch, publish to Bintray stable repo
4791
Write-Host "$("##vso[task.setvariable variable=BINTRAY_REPO]")nanoframework-images"
92+
# set package name
93+
Write-Host "$("##vso[task.setvariable variable=PACKAGE_NAME]")$(BoardName)-$(NBGV_AssemblyVersion)"
4894
}
4995
}
5096
errorActionPreference: 'stop'
@@ -55,12 +101,12 @@ steps:
55101

56102
- task: cURLUploader@2
57103
inputs:
58-
files: '$(Agent.TempDirectory)\$(BoardName)-$(NBGV_SimpleVersion)$(NBGV_PrereleaseVersion).zip'
104+
files: '$(Agent.TempDirectory)\$(PACKAGE_NAME).zip'
59105
authType: 'userAndPass'
60106
username: 'nfbot'
61107
password: '$(BinTrayKey)'
62108
url: 'https://api.bintray.com/'
63-
remotePath: 'content/nfbot/$(BINTRAY_REPO)/$(BoardName)/$(NBGV_SimpleVersion)$(NBGV_PrereleaseVersion)/$(BoardName)-$(NBGV_SimpleVersion)$(NBGV_PrereleaseVersion).zip;publish=1'
109+
remotePath: 'content/nfbot/$(BINTRAY_REPO)/$(BoardName)/$(NBGV_AssemblyVersion)/$(PACKAGE_NAME).zip;publish=1'
64110
# execute on 'ForceUpload' parameter
65111
condition: or( eq(variables['ForceUpload'], true), and( succeeded(), ne(variables['Build.Reason'], 'PullRequest'), or( eq(variables['Build.SourceBranchName'], 'develop'), eq(variables['Build.SourceBranchName'], 'master'), contains(variables['Build.SourceBranchName'], 'release') ) ) )
66112
displayName: Upload artifact to Bintray

azure-pipelines.yml

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -365,15 +365,9 @@ jobs:
365365
condition: succeeded()
366366
displayName: Install NBGV tool
367367

368-
- task: PowerShell@2
369-
inputs:
370-
targetType: 'inline'
371-
script: nbgv cloud -a -c
372-
errorActionPreference: 'silentlyContinue'
373-
failOnStderr: 'false'
368+
- script: nbgv cloud -a -c
374369
condition: succeeded()
375370
displayName: Set build number
376-
# condition: ne(variables['system.pullrequest.isfork'], true)
377371

378372
- task: UseRubyVersion@0
379373
inputs:
@@ -385,7 +379,7 @@ jobs:
385379
- powershell: |
386380
gem install github_changelog_generator --quiet --no-document
387381
# need to call it passing both cache options with full path otherwise it won't work
388-
github_changelog_generator --token $(GitHubToken) --cache-log $env:AGENT_TEMPDIRECTORY\github-changelog-logger.log --cache-file $env:AGENT_TEMPDIRECTORY\github-changelog-http-cache --pr-wo-labels --future-release "v$(NBGV_Version)"
382+
github_changelog_generator --token $(GitHubToken) --cache-log $env:AGENT_TEMPDIRECTORY\github-changelog-logger.log --cache-file $env:AGENT_TEMPDIRECTORY\github-changelog-http-cache --pr-wo-labels --future-release "v$env:NBGV_AssemblyVersion"
389383
condition: and( succeeded(), not( startsWith(variables['Build.SourceBranch'], 'refs/pull') ), or( eq(variables['Build.SourceBranchName'], 'master'), startsWith(variables['Build.SourceBranch'], 'refs/tags/v') ) )
390384
displayName: Generate change log
391385
@@ -416,7 +410,7 @@ jobs:
416410
displayName: Push changelog to GitHub
417411
418412
#######################
419-
# create or update GitHub release ON tags from release or master branches
413+
# create or update GitHub release ON tags from master branche or tags
420414
- job: Publish_Release
421415
dependsOn:
422416
- Build_STM32_targets
@@ -425,27 +419,40 @@ jobs:
425419
- Build_TI_SimpleLink_targets
426420
- Build_WIN32_nanoCLR
427421
- Generate_change_log
422+
# skip build if this is a PR, submitted by nfbot and the commit message contains [version update]
423+
condition: and( succeeded('Build_STM32_targets'), succeeded('Build_ESP32_targets'), succeeded('Build_NXP_targets'), succeeded('Build_TI_SimpleLink_targets'), not( eq(variables['Build.Reason'], 'PullRequest') ), or( endsWith(variables['Build.SourceBranchName'], 'master'), startsWith(variables['Build.SourceBranch'], 'refs/tags/v') ), ne( variables['StartReleaseCandidate'], true ) )
428424

429425
pool:
430426
vmImage: 'VS2017-Win2016'
431427

432428
steps:
429+
- task: DotNetCoreCLI@2
430+
inputs:
431+
command: custom
432+
custom: tool
433+
arguments: install --tool-path . nbgv
434+
displayName: Install NBGV tool
435+
436+
- script: nbgv cloud -a -c
437+
displayName: Set build number
438+
433439
- task: GitHubReleasePublish@1
434440
inputs:
435441
githubEndpoint: 'nanoframework'
436442
githubOwner: 'nanoframework'
437443
githubRepositoryName: nf-interpreter
438-
githubTag: v$(NBGV_Version)
439-
githubReleaseTitle: 'nf Interpreter v$(NBGV_Version)'
444+
githubTag: v$(NBGV_AssemblyVersion)
445+
githubReleaseTitle: 'nf Interpreter v$(NBGV_AssemblyVersion)'
446+
githubReleaseNotes: ''
440447
githubTargetCommitsh: $(Build.SourceVersion)
441448
githubReleaseDraft: false
442-
githubReleasePrerelease: false
449+
githubReleasePrerelease: true
443450
githubReuseDraftOnly: false
444451
githubReuseRelease: true
445452
githubEditRelease: false
446453
githubDeleteEmptyTag: true
447-
githubReleaseAsset:
448-
condition: and( succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), not(contains(variables['Build.SourceBranch'], 'preview') ), ne( variables['StartReleaseCandidate'], true ) )
454+
githubReleaseAsset: '$(Build.ArtifactStagingDirectory)/**.zip'
455+
condition: endsWith(variables['Build.SourceBranch'], 'master')
449456
displayName: Create/Update GitHub stable release
450457

451458
##################################

version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
3-
"version": "1.4",
3+
"version": "1.4.2",
44
"assemblyVersion": {
55
"precision": "revision"
66
},

0 commit comments

Comments
 (0)