From 1a5a7917b33aa0ded91e203a025c6fb9bbbb1fdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 14 Apr 2025 11:03:15 +0100 Subject: [PATCH 1/4] Work CI-CD - Test TI build. --- azure-pipelines.yml | 2068 +++++++++++++++++++++---------------------- 1 file changed, 1026 insertions(+), 1042 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 85e7217114..aebc7e5051 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -363,274 +363,274 @@ jobs: - template: azure-pipelines-templates/download-install-llvm.yml - template: azure-pipelines-templates/check-code-style.yml - ############### - # STM32 - - job: Build_STM32_targets - condition: >- - or( - and( - succeeded('Check_Code_Style'), - ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_CHIBIOS'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_CHIBIOS__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - Check_Code_Style - - pool: - vmImage: "windows-latest" - - strategy: - matrix: - ST_STM32F429I_DISCOVERY: - TargetBoard: ST_STM32F429I_DISCOVERY - TargetSeries: "stm32f4xx" - BuildOptions: - NeedsDFU: false - NeedsSRECORD: false - CMakePreset: ST_STM32F429I_DISCOVERY - - ST_STM32F769I_DISCOVERY: - TargetBoard: ST_STM32F769I_DISCOVERY - TargetSeries: "stm32f7xx" - BuildOptions: - NeedsDFU: false - NeedsSRECORD: true - CMakePreset: ST_STM32F769I_DISCOVERY - - variables: - DOTNET_NOLOGO: true - # creates a counter and assigns it to the revision variable - REVISION: $[counter('STM32_1_12_4_versioncounter', 0)] - HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] - TargetPlatform: "stm32" - - steps: - - template: azure-pipelines-templates/build-preparations.yml - - template: azure-pipelines-templates/nb-gitversioning.yml - - template: azure-pipelines-templates/download-install-cmake.yml - - template: azure-pipelines-templates/download-install-arm-gcc-toolchain.yml - - template: azure-pipelines-templates/download-install-ninja.yml - - template: azure-pipelines-templates/download-srecord.yml - - template: azure-pipelines-templates/download-hexdfu.yml - - template: azure-pipelines-templates/build-chibios-stm32-targets.yml - - template: azure-pipelines-templates/pack-publish-artifacts.yml - - template: azure-pipelines-templates/publish-cloudsmith.yml - - template: azure-pipelines-templates/pack-publish-managed-helpers.yml - - ################# - # ESP32 targets - - job: Build_ESP32_targets - condition: >- - or( - and( - succeeded('Check_Code_Style'), - ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ESP32'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_ESP32__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - Check_Code_Style - - pool: - vmImage: "windows-latest" - - # there is only a single ESP32 target, but this is already config as a matrix to make it easy to add new ones - strategy: - matrix: - ESP32_PSRAM_REV0: - TargetBoard: ESP32 - TargetSeries: "esp32" - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32 - PackageName: ESP32_PSRAM_REV0 - CMakePreset: ESP32_PSRAM_REV0 - - ESP32_BLE_REV0: - TargetBoard: ESP32 - TargetSeries: "esp32" - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32 - PackageName: ESP32_BLE_REV0 - CMakePreset: ESP32_BLE_REV0 - - ESP32_C3: - TargetBoard: ESP32_C3 - TargetSeries: "esp32c3" - BuildOptions: - IDF_Target: esp32c3 - TargetName: ESP32_C3 - PackageName: ESP32_C3 - CMakePreset: ESP32_C3 - - ESP32_C6_THREAD: - TargetBoard: ESP32_C6 - TargetSeries: "esp32c6" - BuildOptions: - IDF_Target: esp32c6 - TargetName: ESP32_C6_THREAD - PackageName: ESP32_C6_THREAD - CMakePreset: ESP32_C6_THREAD - - ESP32_H2_THREAD: - TargetBoard: ESP32_H2 - TargetSeries: "esp32h2" - BuildOptions: - IDF_Target: esp32h2 - TargetName: ESP32_H2_THREAD - PackageName: ESP32_H2_THREAD - CMakePreset: ESP32_H2_THREAD - - ESP32_S3_ALL: - TargetBoard: ESP32_S3 - TargetSeries: "esp32s3" - BuildOptions: - IDF_Target: esp32s3 - TargetName: ESP32_S3_ALL - PackageName: ESP32_S3_ALL - CMakePreset: ESP32_S3_ALL - - ESP32_ETHERNET_KIT_1.2: - TargetBoard: ESP32 - TargetSeries: "esp32" - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_ETHERNET_KIT_1.2 - PackageName: ESP32_ETHERNET_KIT_1.2 - CMakePreset: ESP32_ETHERNET_KIT_1.2 - - variables: - DOTNET_NOLOGO: true - # creates a counter and assigns it to the revision variable - REVISION: $[counter('ESP32_1_12_4_versioncounter', 0)] - IDF_PATH: "D:/a/1/s/esp-idf" - PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip - TargetPlatform: "esp32" - IDF_TAG: "v5.2.3" - - steps: - - checkout: self - path: s/nf-interpreter - - - template: azure-pipelines-templates/checkout-idf.yml - parameters: - repoDirectory: '$(Agent.BuildDirectory)/s' - - template: azure-pipelines-templates/build-preparations.yml - parameters: - repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' - - template: azure-pipelines-templates/nb-gitversioning.yml - parameters: - repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' - - template: azure-pipelines-templates/download-install-esp32-build-components.yml - - template: azure-pipelines-templates/download-install-ninja.yml - parameters: - repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' - - template: azure-pipelines-templates/build-espressif-esp32-targets.yml - parameters: - repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' - partitionsDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter/targets/ESP32/_IDF/$(IDF_Target)' - - task: CopyFiles@2 - condition: succeeded() - displayName: Copying bootloader - inputs: - sourceFolder: '$(Agent.BuildDirectory)/s/nf-interpreter/build/bootloader' - Contents: | - bootloader.bin - TargetFolder: '$(Build.ArtifactStagingDirectory)\$(TargetPublishName)' - flattenFolders: true - ignoreMakeDirErrors: true - - - template: azure-pipelines-templates/copy-sdkconfig.yml - parameters: - repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' - - template: azure-pipelines-templates/pack-publish-artifacts.yml - parameters: - buildDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter/build' - - template: azure-pipelines-templates/publish-cloudsmith.yml - - template: azure-pipelines-templates/publish-sdkconfig.yml - - ################# - # NXP - - job: Build_NXP_targets - condition: >- - or( - and( - succeeded('Check_Code_Style'), - ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_FREERTOS'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_NXP__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - Check_Code_Style - - pool: - vmImage: "windows-latest" - - strategy: - matrix: - NXP_MIMXRT1060_EVK: - TargetBoard: NXP_MIMXRT1060_EVK - TargetSeries: "imxrt10xx" - BuildOptions: - NeedsSRECORD: true - CMakePreset: NXP_MIMXRT1060_EVK - - variables: - DOTNET_NOLOGO: true - # creates a counter and assigns it to the revision variable - REVISION: $[counter('NXP_1_12_4_versioncounter', 0)] - GIT_LFS_SKIP_SMUDGE: 1 - TargetPlatform: "freertos" - - steps: - - template: azure-pipelines-templates/build-preparations.yml - - template: azure-pipelines-templates/nb-gitversioning.yml - - template: azure-pipelines-templates/download-install-cmake.yml - - template: azure-pipelines-templates/download-install-arm-gcc-toolchain.yml - - template: azure-pipelines-templates/download-install-ninja.yml - - template: azure-pipelines-templates/download-srecord.yml - - template: azure-pipelines-templates/build-freertos-nxp-targets.yml - - template: azure-pipelines-templates/pack-publish-artifacts.yml - - template: azure-pipelines-templates/publish-cloudsmith.yml - - template: azure-pipelines-templates/pack-publish-managed-helpers.yml + # ############### + # # STM32 + # - job: Build_STM32_targets + # condition: >- + # or( + # and( + # succeeded('Check_Code_Style'), + # ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), + # or( + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_CHIBIOS'], true) + # ) + # ), + # and( + # eq(variables['Build.Reason'], 'Manual'), + # or( + # eq(variables['BUILD_ALL__'], 'true'), + # eq(variables['BUILD_CHIBIOS__'], 'true') + # ) + # ) + # ) + + # dependsOn: + # - Check_Build_Options + # - Check_Code_Style + + # pool: + # vmImage: "windows-latest" + + # strategy: + # matrix: + # ST_STM32F429I_DISCOVERY: + # TargetBoard: ST_STM32F429I_DISCOVERY + # TargetSeries: "stm32f4xx" + # BuildOptions: + # NeedsDFU: false + # NeedsSRECORD: false + # CMakePreset: ST_STM32F429I_DISCOVERY + + # ST_STM32F769I_DISCOVERY: + # TargetBoard: ST_STM32F769I_DISCOVERY + # TargetSeries: "stm32f7xx" + # BuildOptions: + # NeedsDFU: false + # NeedsSRECORD: true + # CMakePreset: ST_STM32F769I_DISCOVERY + + # variables: + # DOTNET_NOLOGO: true + # # creates a counter and assigns it to the revision variable + # REVISION: $[counter('STM32_1_12_4_versioncounter', 0)] + # HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] + # TargetPlatform: "stm32" + + # steps: + # - template: azure-pipelines-templates/build-preparations.yml + # - template: azure-pipelines-templates/nb-gitversioning.yml + # - template: azure-pipelines-templates/download-install-cmake.yml + # - template: azure-pipelines-templates/download-install-arm-gcc-toolchain.yml + # - template: azure-pipelines-templates/download-install-ninja.yml + # - template: azure-pipelines-templates/download-srecord.yml + # - template: azure-pipelines-templates/download-hexdfu.yml + # - template: azure-pipelines-templates/build-chibios-stm32-targets.yml + # - template: azure-pipelines-templates/pack-publish-artifacts.yml + # - template: azure-pipelines-templates/publish-cloudsmith.yml + # - template: azure-pipelines-templates/pack-publish-managed-helpers.yml + + # ################# + # # ESP32 targets + # - job: Build_ESP32_targets + # condition: >- + # or( + # and( + # succeeded('Check_Code_Style'), + # ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), + # or( + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ESP32'], true) + # ) + # ), + # and( + # eq(variables['Build.Reason'], 'Manual'), + # or( + # eq(variables['BUILD_ALL__'], 'true'), + # eq(variables['BUILD_ESP32__'], 'true') + # ) + # ) + # ) + + # dependsOn: + # - Check_Build_Options + # - Check_Code_Style + + # pool: + # vmImage: "windows-latest" + + # # there is only a single ESP32 target, but this is already config as a matrix to make it easy to add new ones + # strategy: + # matrix: + # ESP32_PSRAM_REV0: + # TargetBoard: ESP32 + # TargetSeries: "esp32" + # BuildOptions: + # IDF_Target: esp32 + # TargetName: ESP32 + # PackageName: ESP32_PSRAM_REV0 + # CMakePreset: ESP32_PSRAM_REV0 + + # ESP32_BLE_REV0: + # TargetBoard: ESP32 + # TargetSeries: "esp32" + # BuildOptions: + # IDF_Target: esp32 + # TargetName: ESP32 + # PackageName: ESP32_BLE_REV0 + # CMakePreset: ESP32_BLE_REV0 + + # ESP32_C3: + # TargetBoard: ESP32_C3 + # TargetSeries: "esp32c3" + # BuildOptions: + # IDF_Target: esp32c3 + # TargetName: ESP32_C3 + # PackageName: ESP32_C3 + # CMakePreset: ESP32_C3 + + # ESP32_C6_THREAD: + # TargetBoard: ESP32_C6 + # TargetSeries: "esp32c6" + # BuildOptions: + # IDF_Target: esp32c6 + # TargetName: ESP32_C6_THREAD + # PackageName: ESP32_C6_THREAD + # CMakePreset: ESP32_C6_THREAD + + # ESP32_H2_THREAD: + # TargetBoard: ESP32_H2 + # TargetSeries: "esp32h2" + # BuildOptions: + # IDF_Target: esp32h2 + # TargetName: ESP32_H2_THREAD + # PackageName: ESP32_H2_THREAD + # CMakePreset: ESP32_H2_THREAD + + # ESP32_S3_ALL: + # TargetBoard: ESP32_S3 + # TargetSeries: "esp32s3" + # BuildOptions: + # IDF_Target: esp32s3 + # TargetName: ESP32_S3_ALL + # PackageName: ESP32_S3_ALL + # CMakePreset: ESP32_S3_ALL + + # ESP32_ETHERNET_KIT_1.2: + # TargetBoard: ESP32 + # TargetSeries: "esp32" + # BuildOptions: + # IDF_Target: esp32 + # TargetName: ESP32_ETHERNET_KIT_1.2 + # PackageName: ESP32_ETHERNET_KIT_1.2 + # CMakePreset: ESP32_ETHERNET_KIT_1.2 + + # variables: + # DOTNET_NOLOGO: true + # # creates a counter and assigns it to the revision variable + # REVISION: $[counter('ESP32_1_12_4_versioncounter', 0)] + # IDF_PATH: "D:/a/1/s/esp-idf" + # PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip + # TargetPlatform: "esp32" + # IDF_TAG: "v5.2.3" + + # steps: + # - checkout: self + # path: s/nf-interpreter + + # - template: azure-pipelines-templates/checkout-idf.yml + # parameters: + # repoDirectory: '$(Agent.BuildDirectory)/s' + # - template: azure-pipelines-templates/build-preparations.yml + # parameters: + # repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' + # - template: azure-pipelines-templates/nb-gitversioning.yml + # parameters: + # repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' + # - template: azure-pipelines-templates/download-install-esp32-build-components.yml + # - template: azure-pipelines-templates/download-install-ninja.yml + # parameters: + # repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' + # - template: azure-pipelines-templates/build-espressif-esp32-targets.yml + # parameters: + # repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' + # partitionsDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter/targets/ESP32/_IDF/$(IDF_Target)' + # - task: CopyFiles@2 + # condition: succeeded() + # displayName: Copying bootloader + # inputs: + # sourceFolder: '$(Agent.BuildDirectory)/s/nf-interpreter/build/bootloader' + # Contents: | + # bootloader.bin + # TargetFolder: '$(Build.ArtifactStagingDirectory)\$(TargetPublishName)' + # flattenFolders: true + # ignoreMakeDirErrors: true + + # - template: azure-pipelines-templates/copy-sdkconfig.yml + # parameters: + # repoDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter' + # - template: azure-pipelines-templates/pack-publish-artifacts.yml + # parameters: + # buildDirectory: '$(Agent.BuildDirectory)/s/nf-interpreter/build' + # - template: azure-pipelines-templates/publish-cloudsmith.yml + # - template: azure-pipelines-templates/publish-sdkconfig.yml + + # ################# + # # NXP + # - job: Build_NXP_targets + # condition: >- + # or( + # and( + # succeeded('Check_Code_Style'), + # ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), + # or( + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_FREERTOS'], true) + # ) + # ), + # and( + # eq(variables['Build.Reason'], 'Manual'), + # or( + # eq(variables['BUILD_ALL__'], 'true'), + # eq(variables['BUILD_NXP__'], 'true') + # ) + # ) + # ) + + # dependsOn: + # - Check_Build_Options + # - Check_Code_Style + + # pool: + # vmImage: "windows-latest" + + # strategy: + # matrix: + # NXP_MIMXRT1060_EVK: + # TargetBoard: NXP_MIMXRT1060_EVK + # TargetSeries: "imxrt10xx" + # BuildOptions: + # NeedsSRECORD: true + # CMakePreset: NXP_MIMXRT1060_EVK + + # variables: + # DOTNET_NOLOGO: true + # # creates a counter and assigns it to the revision variable + # REVISION: $[counter('NXP_1_12_4_versioncounter', 0)] + # GIT_LFS_SKIP_SMUDGE: 1 + # TargetPlatform: "freertos" + + # steps: + # - template: azure-pipelines-templates/build-preparations.yml + # - template: azure-pipelines-templates/nb-gitversioning.yml + # - template: azure-pipelines-templates/download-install-cmake.yml + # - template: azure-pipelines-templates/download-install-arm-gcc-toolchain.yml + # - template: azure-pipelines-templates/download-install-ninja.yml + # - template: azure-pipelines-templates/download-srecord.yml + # - template: azure-pipelines-templates/build-freertos-nxp-targets.yml + # - template: azure-pipelines-templates/pack-publish-artifacts.yml + # - template: azure-pipelines-templates/publish-cloudsmith.yml + # - template: azure-pipelines-templates/pack-publish-managed-helpers.yml ################# # TI SimpleLink @@ -710,777 +710,761 @@ jobs: - template: azure-pipelines-templates/publish-cloudsmith.yml - template: azure-pipelines-templates/pack-publish-ti-sl-managed-helpers.yml - ################# - # Azure RTOS - - job: Build_Azure_RTOS_targets - condition: >- - or( - and( - succeeded('Check_Code_Style'), - ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_AZURERTOS'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_AZURERTOS__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - Check_Code_Style - - pool: - vmImage: "windows-latest" - - strategy: - matrix: - # ST_B_L475E_IOT01A: - # TargetBoard: ST_B_L475E_IOT01A - # TargetSeries: 'stm32l4xx' - # BuildOptions: - # NeedsDFU: true - # NeedsSRECORD: false - # CMakePreset: ST_B_L475E_IOT01A - - # ORGPAL_PALTHREE: - # TargetBoard: ORGPAL_PALTHREE - # TargetSeries: 'stm32f7xx' - # BuildOptions: - # NeedsDFU: true - # NeedsSRECORD: false - # CMakePreset: ORGPAL_PALTHREE - - SL_STK3701A: - TargetBoard: SL_STK3701A - TargetSeries: "gg11" - BuildOptions: - NeedsDFU: false - NeedsSRECORD: false - CMakePreset: SL_STK3701A - - variables: - # creates a counter and assigns it to the revision variable - REVISION: $[counter('AZURERTOS_1_12_4_versioncounter', 0)] - HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] - TargetPlatform: "efm32" - - steps: - - template: azure-pipelines-templates/build-preparations.yml - - template: azure-pipelines-templates/nb-gitversioning.yml - - template: azure-pipelines-templates/download-install-cmake.yml - - template: azure-pipelines-templates/download-install-arm-gcc-toolchain.yml - - template: azure-pipelines-templates/download-install-ninja.yml - - template: azure-pipelines-templates/download-hexdfu.yml - - template: azure-pipelines-templates/download-srecord.yml - - template: azure-pipelines-templates/build-azurertos-targets.yml - - template: azure-pipelines-templates/pack-publish-artifacts.yml - - template: azure-pipelines-templates/publish-cloudsmith.yml - - template: azure-pipelines-templates/pack-publish-managed-helpers.yml - - ################# - # WIN32 executable - - job: Build_WIN32_nanoCLR - condition: >- - or( - and( - succeeded('Check_Code_Style'), - ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_WIN32'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_WINDOWS_NANOCLR__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - Check_Code_Style - - pool: - vmImage: "windows-latest" - - variables: - - group: sign-client-credentials - - name: DOTNET_NOLOGO - value: true - # creates a counter and assigns it to the revision variable - - name: REVISION - value: $[counter('WIN32_1_12_4_versioncounter', 0)] - - name: LITTLEFS_PATH - value: "D:/a/1/s/littlefs" - - steps: - - checkout: self - - checkout: littlefs - fetchDepth: 1 - - - template: azure-pipelines-templates/nb-gitversioning.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)/nf-interpreter' - - - task: PowerShell@2 - displayName: Store CLR DLL revision - name: SetRevision - inputs: - targetType: "inline" - script: | - Write-Host "$("##vso[task.setvariable variable=CLR_REVISION;isOutput=true]")$(REVISION)" - - - task: PowerShell@2 - displayName: Store package version - inputs: - targetType: "inline" - script: | - Write-Host "$("##vso[task.setvariable variable=WINCLR_PACKAGE_VERSION]")$(NBGV_VersionMajor).$(NBGV_VersionMinor).$(NBGV_BuildNumber).$(TARGET_BUILD_COUNTER)" - Write-Host "$("##vso[task.setvariable variable=WINCLR_AssemblyInformationalVersion]")$(NBGV_VersionMajor).$(NBGV_VersionMinor).$(NBGV_BuildNumber).$(TARGET_BUILD_COUNTER)$(NBGV_BuildMetadataFragment)" - - - template: azure-pipelines-templates/install-nuget.yml@templates - - - task: DotNetCoreCLI@2 - displayName: Restore NuGet packages - inputs: - command: restore - restoreArguments: "--locked-mode" - verbosityRestore: minimal - projects: nf-interpreter/targets/netcore/nanoCLR.sln - feedsToUse: select - includeNuGetOrg: true - - - task: VSBuild@1 - displayName: Build WIN32 EXE target - inputs: - solution: "nf-interpreter/targets/win32/nanoCLR.sln" - platform: "x86" - maximumCpuCount: true - msbuildArgs: "/p:PublicRelease=true" - configuration: "Release" - - - task: VSBuild@1 - displayName: Build WIN DLL target - inputs: - solution: "nf-interpreter/targets/netcore/nanoCLR.sln" - platform: "Any CPU" - maximumCpuCount: true - msbuildArgs: "/p:PublicRelease=true" - configuration: "Release" - - - task: DotNetCoreCLI@2 - displayName: Install Sign Client CLI - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], '') - ) - inputs: - command: custom - custom: tool - arguments: install --tool-path . sign --version 0.9.1-beta.23530.1 - - - pwsh: | - .\sign code azure-key-vault ` - "**/nanoFramework.nanoCLR.*" ` - --base-directory "$(Build.SourcesDirectory)/nf-interpreter/build/bin/Release" ` - --publisher-name ".NET nanoFramework" ` - --description "nanoFramework.nanoCLR" ` - --description-url "https://github.com/$env:Build_Repository_Name" ` - --azure-key-vault-tenant-id "$(SignTenantId)" ` - --azure-key-vault-client-id "$(SignClientId)" ` - --azure-key-vault-client-secret "$(SignClientSecret)" ` - --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` - --azure-key-vault-url "$(SignKeyVaultUrl)" ` - --timestamp-url http://timestamp.digicert.com - displayName: Sign nanoCLR assemblies - continueOnError: true - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], '') - ) - - - task: NuGetCommand@2 - condition: succeeded() - displayName: Pack nanoCLR WIN32 - inputs: - command: "custom" - arguments: "pack nf-interpreter/targets/win32/nanoFramework.nanoCLR.Win32.nuspec -Version $(NBGV_NuGetPackageVersion)" - - - task: CopyFiles@2 - condition: succeeded() - displayName: Collecting NuGet packages - inputs: - sourceFolder: $(Build.SourcesDirectory) - Contents: | - **\nanoFramework.nanoCLR.Win32*.nupkg - TargetFolder: "$(Build.ArtifactStagingDirectory)" - flattenFolders: true - ignoreMakeDirErrors: true - - - task: CopyFiles@2 - condition: succeeded() - displayName: Adding nanoCLR WIN32 to deployable artifacts - inputs: - sourceFolder: $(Build.SourcesDirectory) - Contents: | - **\nanoFramework.nanoCLR.exe - TargetFolder: '$(Build.ArtifactStagingDirectory)\WIN32_nanoCLR' - flattenFolders: true - ignoreMakeDirErrors: true - - - task: CopyFiles@2 - condition: succeeded() - displayName: Adding nanoCLR DLL to deployable artifacts - inputs: - sourceFolder: $(Build.SourcesDirectory) - Contents: | - **\nanoFramework.nanoCLR.dll - TargetFolder: '$(Build.ArtifactStagingDirectory)\WIN_DLL_nanoCLR' - flattenFolders: true - ignoreMakeDirErrors: true - - - pwsh: | - .\sign code azure-key-vault ` - "**/*.nupkg" ` - --base-directory "$(Build.ArtifactStagingDirectory)" ` - --publisher-name ".NET nanoFramework" ` - --description "nanoFramework.nanoCLR NuGets" ` - --description-url "https://github.com/$env:Build_Repository_Name" ` - --azure-key-vault-tenant-id "$(SignTenantId)" ` - --azure-key-vault-client-id "$(SignClientId)" ` - --azure-key-vault-client-secret "$(SignClientSecret)" ` - --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` - --azure-key-vault-url "$(SignKeyVaultUrl)" ` - --timestamp-url http://timestamp.digicert.com - displayName: Sign packages - continueOnError: true - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], '') - ) - - # publish artifacts - - task: PublishPipelineArtifact@1 - condition: succeeded() - displayName: Publish deployables artifacts - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)" - artifactName: nanoclr_win32 - artifactType: pipeline - - # push NuGet packages to Azure Artifacts feed (always happens when building from main, except on PR builds) - - task: NuGetCommand@2 - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], ''), - or( - eq(variables['ForceUpload'], true), - eq(variables['Build.SourceBranchName'], 'main') - ) - ) - continueOnError: true - displayName: Push NuGet packages to Azure Artifacts - inputs: - command: push - nuGetFeedType: external - packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" - publishFeedCredentials: "AzureArtifacts-nf-interpreter" - allowPackageConflicts: true - - # push NuGet packages to NuGet (always happens when building from main, except on PR builds) - - task: NuGetCommand@2 - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], ''), - or( - eq(variables['ForceUpload'], true), - eq(variables['Build.SourceBranchName'], 'main') - ) - ) - continueOnError: true - displayName: Push NuGet packages to NuGet - inputs: - command: push - nuGetFeedType: external - allowPackageConflicts: true - packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" - publishFeedCredentials: "NuGet-nf-interpreter" - - - template: azure-pipelines-templates/publish-nanoclr.yml - - ################# - # nanoCLR CLI tool - - job: Build_nanoCLR_CLI - condition: >- - or( - and( - succeeded('Check_Code_Style'), - ne(dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true), - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_NANOCLR_CLI'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_NANOCLR_CLI__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - Check_Code_Style - - Build_WIN32_nanoCLR - - pool: - vmImage: "windows-latest" - - variables: - - group: sign-client-credentials - - name: DOTNET_NOLOGO - value: true - - name: LITTLEFS_PATH - value: "D:/a/1/s/littlefs" - - name: REVISION - value: $[dependencies.Build_WIN32_nanoCLR.outputs['SetRevision.CLR_REVISION']] - - steps: - - checkout: self - - checkout: littlefs - fetchDepth: 1 - - - template: azure-pipelines-templates/nb-gitversioning.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)/nf-interpreter' - - - template: azure-pipelines-templates/install-nuget.yml@templates - - - task: DotNetCoreCLI@2 - displayName: Restore NuGet packages - inputs: - command: restore - restoreArguments: "--locked-mode" - verbosityRestore: minimal - projects: "nf-interpreter/targets/netcore/nanoCLR.sln" - feedsToUse: select - includeNuGetOrg: true - - - task: VSBuild@1 - displayName: Build .NET tool - condition: succeeded() - inputs: - solution: "nf-interpreter/targets/netcore/nanoCLR.sln" - platform: "Any CPU" - maximumCpuCount: true - msbuildArgs: "/p:PublicRelease=true" - configuration: "Release" - - - task: DotNetCoreCLI@2 - displayName: Install Sign Client CLI - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], '') - ) - inputs: - command: custom - custom: tool - arguments: install --tool-path . sign --version 0.9.1-beta.23530.1 - - - pwsh: | - .\sign code azure-key-vault ` - "**/nanoFramework.nanoCLR.*" ` - --base-directory "$(Build.SourcesDirectory)/nf-interpreter/build/bin/Release" ` - --publisher-name ".NET nanoFramework" ` - --description "nanoFramework.nanoCLR.CLI" ` - --description-url "https://github.com/$env:Build_Repository_Name" ` - --azure-key-vault-tenant-id "$(SignTenantId)" ` - --azure-key-vault-client-id "$(SignClientId)" ` - --azure-key-vault-client-secret "$(SignClientSecret)" ` - --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` - --azure-key-vault-url "$(SignKeyVaultUrl)" ` - --timestamp-url http://timestamp.digicert.com - displayName: Sign nanoCLR assemblies - continueOnError: true - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], '') - ) - - - task: MSBuild@1 - condition: succeeded() - displayName: Pack nanoCLR CLI - inputs: - solution: "nf-interpreter/targets/netcore/nanoFramework.nanoCLR.CLI/nanoFramework.nanoCLR.CLI.csproj" - platform: "Any CPU" - msbuildArguments: "/p:PublicRelease=true /t:pack /p:PackageOutputPath=$(Build.ArtifactStagingDirectory) " - configuration: "Release" - maximumCpuCount: true - - - pwsh: | - .\sign code azure-key-vault ` - "**/*.nupkg" ` - --base-directory "$(Build.ArtifactStagingDirectory)" ` - --publisher-name ".NET nanoFramework" ` - --description "nanoFramework.nanoCLR.CLI NuGet" ` - --description-url "https://github.com/$env:Build_Repository_Name" ` - --azure-key-vault-tenant-id "$(SignTenantId)" ` - --azure-key-vault-client-id "$(SignClientId)" ` - --azure-key-vault-client-secret "$(SignClientSecret)" ` - --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` - --azure-key-vault-url "$(SignKeyVaultUrl)" ` - --timestamp-url http://timestamp.digicert.com - displayName: Sign packages - continueOnError: true - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], '') - ) - - - task: CopyFiles@2 - condition: succeeded() - displayName: Copy nanoclr - inputs: - SourceFolder: "nf-interpreter/build/bin/Release" - Contents: "nanoFramework.nanoCLR.dll" - TargetFolder: "$(Build.ArtifactStagingDirectory)/nanoclr" - - - task: PublishPipelineArtifact@1 - condition: succeeded() - displayName: Publish nanoclr - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/nanoclr" - artifactName: nanoclr_cli - artifactType: pipeline - - # push NuGet packages to Azure Artifacts feed (always happens when building from main, except on PR builds) - - task: NuGetCommand@2 - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], ''), - or( - eq(variables['ForceUpload'], true), - eq(variables['Build.SourceBranchName'], 'main') - ) - ) - continueOnError: true - displayName: Push NuGet packages to Azure Artifacts - inputs: - command: push - nuGetFeedType: external - packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" - publishFeedCredentials: "AzureArtifacts-nf-interpreter" - allowPackageConflicts: true - - # push NuGet packages to NuGet (always happens when building from main, except on PR builds) - - task: NuGetCommand@2 - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], ''), - or( - eq(variables['ForceUpload'], true), - eq(variables['Build.SourceBranchName'], 'main') - ) - ) - continueOnError: true - displayName: Push NuGet packages to NuGet - inputs: - command: push - nuGetFeedType: external - allowPackageConflicts: true - packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" - publishFeedCredentials: "NuGet-nf-interpreter" - - ######################### - # Run mscorlib Unit Tests - - - job: Run_UnitTests_mscorlib - condition: >- - or( - and( - succeeded('Build_nanoCLR_CLI'), - ne(dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true), - ne(variables['System.PullRequest.PullRequestId'], ''), - or( - eq(dependencies.Check_Build_Options.outputs['BuildOptions.RUN_MSCORLIB_TESTS'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_NANOCLR_CLI'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_NANOCLR_CLI__'], 'true') - ), - eq(variables['RUN_MSCORLIB_TESTS__'], 'true') - ) - ) - - dependsOn: - - Build_nanoCLR_CLI - - pool: - vmImage: "windows-latest" - - variables: - DOTNET_NOLOGO: true - solution: "nanoFramework.CoreLibrary.sln" - buildPlatform: "Any CPU" - buildConfiguration: "Release" - - steps: - - checkout: self - fetchDepth: 1 - - checkout: mscorlib - fetchDepth: 100 - submodules: true - persistCredentials: true - - - template: azure-pipelines-templates/check-mscorlib-to-test.yml - - # Download nanoclr from build artifacts - - task: DownloadBuildArtifacts@1 - inputs: - buildType: "current" - artifactName: "nanoclr_cli" - downloadPath: "$(Agent.TempDirectory)/nanoclr_cli" - - # build mscorlib - - - task: InstallNanoMSBuildComponents@1 - condition: succeeded() - displayName: Install .NET nanoFramework MSBuild components - inputs: - GitHubToken: $(GitHubToken) - - - template: azure-pipelines-templates/install-nuget.yml@templates - - - task: Cache@2 - displayName: Cache NuGet packages - condition: succeeded() - continueOnError: true - inputs: - key: 'nuget | **/packages.lock.json' - path: $(UserProfile)/.nuget/packages - - - task: NuGetCommand@2 - condition: succeeded() - displayName: NuGet restore - retryCountOnTaskFailure: 5 - inputs: - restoreSolution: "**/nanoFramework.CoreLibrary.sln" - feedsToUse: select - - - task: VSBuild@1 - condition: succeeded() - inputs: - solution: "**/nanoFramework.CoreLibrary.sln" - platform: "Any CPU" - msbuildArgs: "/p:PublicRelease=true" - configuration: "Release" - msbuildArchitecture: "x64" - maximumCpuCount: true - - # run tests - - template: azure-pipelines-templates/run-unit-tests.yml@templates - parameters: - runUnitTests: true - unitTestRunsettings: '$(System.DefaultWorkingDirectory)\nf-interpreter\targets\netcore\pipeline_tests.runsettings' - packagesDirectory: "$(Build.SourcesDirectory)/CoreLibrary/packages" - - - task: CopyFiles@2 - condition: succeededOrFailed() - displayName: Copy vstest dump files - inputs: - SourceFolder: 'D:\a\_temp\' - Contents: "**/*.dmp" - TargetFolder: "$(Build.ArtifactStagingDirectory)/vstest_dumps" - flattenFolders: true - - - powershell: | - $dumpPath = "$(Build.ArtifactStagingDirectory)/vstest_dumps" - $hasFiles = $false - - if (Test-Path $dumpPath -PathType Container) { - $fileCount = (Get-ChildItem $dumpPath -File | Measure-Object).Count - $hasFiles = $fileCount -gt 0 - } - echo "##vso[task.setvariable variable=hasFiles;isOutput=true]$hasFiles" - displayName: "Check for dump files" - name: checkFiles - - - task: PublishPipelineArtifact@1 - condition: eq(variables['hasFiles'], 'true') - displayName: Publish vstest dump files - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/vstest_dumps" - artifactName: VsTestCrashDumps - artifactType: pipeline - - ###################### - # generate change log - - job: Generate_change_log - dependsOn: - - Build_STM32_targets - - Build_ESP32_targets - - Build_NXP_targets - - Build_TI_SimpleLink_targets - - Build_Azure_RTOS_targets - # skip build if this is a PR, submitted by nfbot and the commit message contains [version update] - condition: >- - and( - succeeded('Build_STM32_targets'), - succeeded('Build_ESP32_targets'), - succeeded('Build_NXP_targets'), - succeeded('Build_TI_SimpleLink_targets'), - succeeded('Build_Azure_RTOS_targets'), - not( eq(variables['Build.Reason'], 'PullRequest') - ), - or( - eq(variables['Build.SourceBranchName'], 'main'), - startsWith(variables['Build.SourceBranch'], 'refs/tags/v') ), - ne( variables['StartReleaseCandidate'], true ) - ) - - pool: - vmImage: "windows-latest" - - steps: - - task: DotNetCoreCLI@2 - condition: succeeded() - displayName: Install NBGV tool - inputs: - command: custom - custom: tool - arguments: install --tool-path . nbgv - - - script: nbgv cloud -a -c - condition: succeeded() - displayName: Set build number - - - task: UseRubyVersion@0 - condition: succeeded() - inputs: - versionSpec: "= 3.0" - addToPath: true - - # Cache change log cache files - - task: Cache@2 - displayName: Cache change log cache files - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], ''), - startsWith(variables['Build.SourceBranch'], 'refs/tags/v') - ) - inputs: - key: "changeLogCacheFiles" - restoreKeys: 1_0 - path: | - $(Agent.TempDirectory)/github-changelog-logger.log - $(Agent.TempDirectory)/github-changelog-http-cache - - # generate change log including future version - - powershell: | - gem install github_changelog_generator --quiet --no-document - # need to call it passing both cache options with full path otherwise it won't work - 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" - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], ''), - startsWith(variables['Build.SourceBranch'], 'refs/tags/v') - ) - displayName: Generate change log - - # push new changelog to GitHub repo - - powershell: | - git config --global gc.auto 0 - git config --global user.name nfbot - git config --global user.email nanoframework@outlook.com - git config --global core.autocrlf true - - git add CHANGELOG.md - git commit -m "Update CHANGELOG" -m"***NO_CI***" - - # compute authorization header in format "AUTHORIZATION: basic 'encoded token'" - # 'encoded token' is the Base64 of the string "nfbot:personal-token" - $auth = "basic $([System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("nfbot:$(GitHubToken)")))" - - git -c http.extraheader="AUTHORIZATION: $auth" push origin "HEAD:$(Build.SourceBranchName)" - condition: >- - and( - succeeded(), - eq(variables['System.PullRequest.PullRequestId'], ''), - not( - startsWith(variables['Build.SourceBranch'], 'refs/tags/v') - ), - eq( variables['StartReleaseCandidate'], false ) - ) - continueOnError: true - displayName: Push changelog to GitHub - - ################################# - # report build failure to Discord - - job: Report_Build_Failure - dependsOn: - - Build_STM32_targets - - Build_ESP32_targets - - Build_NXP_targets - - Build_TI_SimpleLink_targets - - Build_Azure_RTOS_targets - - Build_WIN32_nanoCLR - - Build_nanoCLR_CLI - - Generate_change_log - - Check_Code_Style - condition: >- - and( - ne( dependencies.Check_Code_Style.outputs['Check_Code_Style.CODE_STYLE_CHECK_FAILED'], true), - or( - failed('Build_STM32_targets'), - failed('Build_ESP32_targets'), - failed('Build_NXP_targets'), - failed('Build_TI_SimpleLink_targets'), - failed('Build_Azure_RTOS_targets'), - failed('Build_WIN32_nanoCLR'), - failed('Build_nanoCLR_CLI'), - failed('Generate_change_log') - ) - ) - - pool: - vmImage: "windows-latest" - - steps: - - checkout: self - fetchDepth: 1 - - # step from template @ nf-tools repo - - template: azure-pipelines-templates/discord-webhook.yml@templates - parameters: - status: "failure" - webhookUrl: "$(DiscordWebhook)" - message: "" + # ################# + # # Azure RTOS + # - job: Build_Azure_RTOS_targets + # condition: >- + # or( + # and( + # succeeded('Check_Code_Style'), + # ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), + # or( + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_AZURERTOS'], true) + # ) + # ), + # and( + # eq(variables['Build.Reason'], 'Manual'), + # or( + # eq(variables['BUILD_ALL__'], 'true'), + # eq(variables['BUILD_AZURERTOS__'], 'true') + # ) + # ) + # ) + + # dependsOn: + # - Check_Build_Options + # - Check_Code_Style + + # pool: + # vmImage: "windows-latest" + + # strategy: + # matrix: + # # ST_B_L475E_IOT01A: + # # TargetBoard: ST_B_L475E_IOT01A + # # TargetSeries: 'stm32l4xx' + # # BuildOptions: + # # NeedsDFU: true + # # NeedsSRECORD: false + # # CMakePreset: ST_B_L475E_IOT01A + + # # ORGPAL_PALTHREE: + # # TargetBoard: ORGPAL_PALTHREE + # # TargetSeries: 'stm32f7xx' + # # BuildOptions: + # # NeedsDFU: true + # # NeedsSRECORD: false + # # CMakePreset: ORGPAL_PALTHREE + + # SL_STK3701A: + # TargetBoard: SL_STK3701A + # TargetSeries: "gg11" + # BuildOptions: + # NeedsDFU: false + # NeedsSRECORD: false + # CMakePreset: SL_STK3701A + + # variables: + # # creates a counter and assigns it to the revision variable + # REVISION: $[counter('AZURERTOS_1_12_4_versioncounter', 0)] + # HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] + # TargetPlatform: "efm32" + + # steps: + # - template: azure-pipelines-templates/build-preparations.yml + # - template: azure-pipelines-templates/nb-gitversioning.yml + # - template: azure-pipelines-templates/download-install-cmake.yml + # - template: azure-pipelines-templates/download-install-arm-gcc-toolchain.yml + # - template: azure-pipelines-templates/download-install-ninja.yml + # - template: azure-pipelines-templates/download-hexdfu.yml + # - template: azure-pipelines-templates/download-srecord.yml + # - template: azure-pipelines-templates/build-azurertos-targets.yml + # - template: azure-pipelines-templates/pack-publish-artifacts.yml + # - template: azure-pipelines-templates/publish-cloudsmith.yml + # - template: azure-pipelines-templates/pack-publish-managed-helpers.yml + + # ################# + # # WIN32 executable + # - job: Build_WIN32_nanoCLR + # condition: >- + # or( + # and( + # succeeded('Check_Code_Style'), + # ne( dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true ), + # or( + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_WIN32'], true) + # ) + # ), + # and( + # eq(variables['Build.Reason'], 'Manual'), + # or( + # eq(variables['BUILD_ALL__'], 'true'), + # eq(variables['BUILD_WINDOWS_NANOCLR__'], 'true') + # ) + # ) + # ) + + # dependsOn: + # - Check_Build_Options + # - Check_Code_Style + + # pool: + # vmImage: "windows-latest" + + # variables: + # - group: sign-client-credentials + # - name: DOTNET_NOLOGO + # value: true + # # creates a counter and assigns it to the revision variable + # - name: REVISION + # value: $[counter('WIN32_1_12_4_versioncounter', 0)] + # - name: LITTLEFS_PATH + # value: "D:/a/1/s/littlefs" + + # steps: + # - checkout: self + # - checkout: littlefs + # fetchDepth: 1 + + # - template: azure-pipelines-templates/nb-gitversioning.yml + # parameters: + # repoDirectory: '$(Build.SourcesDirectory)/nf-interpreter' + + # - task: PowerShell@2 + # displayName: Store CLR DLL revision + # name: SetRevision + # inputs: + # targetType: "inline" + # script: | + # Write-Host "$("##vso[task.setvariable variable=CLR_REVISION;isOutput=true]")$(REVISION)" + + # - task: PowerShell@2 + # displayName: Store package version + # inputs: + # targetType: "inline" + # script: | + # Write-Host "$("##vso[task.setvariable variable=WINCLR_PACKAGE_VERSION]")$(NBGV_VersionMajor).$(NBGV_VersionMinor).$(NBGV_BuildNumber).$(TARGET_BUILD_COUNTER)" + # Write-Host "$("##vso[task.setvariable variable=WINCLR_AssemblyInformationalVersion]")$(NBGV_VersionMajor).$(NBGV_VersionMinor).$(NBGV_BuildNumber).$(TARGET_BUILD_COUNTER)$(NBGV_BuildMetadataFragment)" + + # - template: azure-pipelines-templates/install-nuget.yml@templates + + # - task: DotNetCoreCLI@2 + # displayName: Restore NuGet packages + # inputs: + # command: restore + # restoreArguments: "--locked-mode" + # verbosityRestore: minimal + # projects: nf-interpreter/targets/netcore/nanoCLR.sln + # feedsToUse: select + # includeNuGetOrg: true + + # - task: VSBuild@1 + # displayName: Build WIN32 EXE target + # inputs: + # solution: "nf-interpreter/targets/win32/nanoCLR.sln" + # platform: "x86" + # maximumCpuCount: true + # msbuildArgs: "/p:PublicRelease=true" + # configuration: "Release" + + # - task: VSBuild@1 + # displayName: Build WIN DLL target + # inputs: + # solution: "nf-interpreter/targets/netcore/nanoCLR.sln" + # platform: "Any CPU" + # maximumCpuCount: true + # msbuildArgs: "/p:PublicRelease=true" + # configuration: "Release" + + # - task: DotNetCoreCLI@2 + # displayName: Install Sign Client CLI + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], '') + # ) + # inputs: + # command: custom + # custom: tool + # arguments: install --tool-path . sign --version 0.9.1-beta.23530.1 + + # - pwsh: | + # .\sign code azure-key-vault ` + # "**/nanoFramework.nanoCLR.*" ` + # --base-directory "$(Build.SourcesDirectory)/nf-interpreter/build/bin/Release" ` + # --publisher-name ".NET nanoFramework" ` + # --description "nanoFramework.nanoCLR" ` + # --description-url "https://github.com/$env:Build_Repository_Name" ` + # --azure-key-vault-tenant-id "$(SignTenantId)" ` + # --azure-key-vault-client-id "$(SignClientId)" ` + # --azure-key-vault-client-secret "$(SignClientSecret)" ` + # --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` + # --azure-key-vault-url "$(SignKeyVaultUrl)" ` + # --timestamp-url http://timestamp.digicert.com + # displayName: Sign nanoCLR assemblies + # continueOnError: true + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], '') + # ) + + # - task: NuGetCommand@2 + # condition: succeeded() + # displayName: Pack nanoCLR WIN32 + # inputs: + # command: "custom" + # arguments: "pack nf-interpreter/targets/win32/nanoFramework.nanoCLR.Win32.nuspec -Version $(NBGV_NuGetPackageVersion)" + + # - task: CopyFiles@2 + # condition: succeeded() + # displayName: Collecting NuGet packages + # inputs: + # sourceFolder: $(Build.SourcesDirectory) + # Contents: | + # **\nanoFramework.nanoCLR.Win32*.nupkg + # TargetFolder: "$(Build.ArtifactStagingDirectory)" + # flattenFolders: true + # ignoreMakeDirErrors: true + + # - task: CopyFiles@2 + # condition: succeeded() + # displayName: Adding nanoCLR WIN32 to deployable artifacts + # inputs: + # sourceFolder: $(Build.SourcesDirectory) + # Contents: | + # **\nanoFramework.nanoCLR.exe + # TargetFolder: '$(Build.ArtifactStagingDirectory)\WIN32_nanoCLR' + # flattenFolders: true + # ignoreMakeDirErrors: true + + # - task: CopyFiles@2 + # condition: succeeded() + # displayName: Adding nanoCLR DLL to deployable artifacts + # inputs: + # sourceFolder: $(Build.SourcesDirectory) + # Contents: | + # **\nanoFramework.nanoCLR.dll + # TargetFolder: '$(Build.ArtifactStagingDirectory)\WIN_DLL_nanoCLR' + # flattenFolders: true + # ignoreMakeDirErrors: true + + # - pwsh: | + # .\sign code azure-key-vault ` + # "**/*.nupkg" ` + # --base-directory "$(Build.ArtifactStagingDirectory)" ` + # --publisher-name ".NET nanoFramework" ` + # --description "nanoFramework.nanoCLR NuGets" ` + # --description-url "https://github.com/$env:Build_Repository_Name" ` + # --azure-key-vault-tenant-id "$(SignTenantId)" ` + # --azure-key-vault-client-id "$(SignClientId)" ` + # --azure-key-vault-client-secret "$(SignClientSecret)" ` + # --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` + # --azure-key-vault-url "$(SignKeyVaultUrl)" ` + # --timestamp-url http://timestamp.digicert.com + # displayName: Sign packages + # continueOnError: true + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], '') + # ) + + # # publish artifacts + # - task: PublishPipelineArtifact@1 + # condition: succeeded() + # displayName: Publish deployables artifacts + # inputs: + # targetPath: "$(Build.ArtifactStagingDirectory)" + # artifactName: nanoclr_win32 + # artifactType: pipeline + + # # push NuGet packages to Azure Artifacts feed (always happens when building from main, except on PR builds) + # - task: NuGetCommand@2 + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], ''), + # or( + # eq(variables['ForceUpload'], true), + # eq(variables['Build.SourceBranchName'], 'main') + # ) + # ) + # continueOnError: true + # displayName: Push NuGet packages to Azure Artifacts + # inputs: + # command: push + # nuGetFeedType: external + # packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" + # publishFeedCredentials: "AzureArtifacts-nf-interpreter" + # allowPackageConflicts: true + + # # push NuGet packages to NuGet (always happens when building from main, except on PR builds) + # - task: NuGetCommand@2 + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], ''), + # or( + # eq(variables['ForceUpload'], true), + # eq(variables['Build.SourceBranchName'], 'main') + # ) + # ) + # continueOnError: true + # displayName: Push NuGet packages to NuGet + # inputs: + # command: push + # nuGetFeedType: external + # allowPackageConflicts: true + # packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" + # publishFeedCredentials: "NuGet-nf-interpreter" + + # - template: azure-pipelines-templates/publish-nanoclr.yml + + # ################# + # # nanoCLR CLI tool + # - job: Build_nanoCLR_CLI + # condition: >- + # or( + # and( + # succeeded('Check_Code_Style'), + # ne(dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true), + # or( + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_NANOCLR_CLI'], true) + # ) + # ), + # and( + # eq(variables['Build.Reason'], 'Manual'), + # or( + # eq(variables['BUILD_ALL__'], 'true'), + # eq(variables['BUILD_NANOCLR_CLI__'], 'true') + # ) + # ) + # ) + + # dependsOn: + # - Check_Build_Options + # - Check_Code_Style + # - Build_WIN32_nanoCLR + + # pool: + # vmImage: "windows-latest" + + # variables: + # - group: sign-client-credentials + # - name: DOTNET_NOLOGO + # value: true + # - name: LITTLEFS_PATH + # value: "D:/a/1/s/littlefs" + # - name: REVISION + # value: $[dependencies.Build_WIN32_nanoCLR.outputs['SetRevision.CLR_REVISION']] + + # steps: + # - checkout: self + # - checkout: littlefs + # fetchDepth: 1 + + # - template: azure-pipelines-templates/nb-gitversioning.yml + # parameters: + # repoDirectory: '$(Build.SourcesDirectory)/nf-interpreter' + + # - template: azure-pipelines-templates/install-nuget.yml@templates + + # - task: DotNetCoreCLI@2 + # displayName: Restore NuGet packages + # inputs: + # command: restore + # restoreArguments: "--locked-mode" + # verbosityRestore: minimal + # projects: "nf-interpreter/targets/netcore/nanoCLR.sln" + # feedsToUse: select + # includeNuGetOrg: true + + # - task: VSBuild@1 + # displayName: Build .NET tool + # condition: succeeded() + # inputs: + # solution: "nf-interpreter/targets/netcore/nanoCLR.sln" + # platform: "Any CPU" + # maximumCpuCount: true + # msbuildArgs: "/p:PublicRelease=true" + # configuration: "Release" + + # - task: DotNetCoreCLI@2 + # displayName: Install Sign Client CLI + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], '') + # ) + # inputs: + # command: custom + # custom: tool + # arguments: install --tool-path . sign --version 0.9.1-beta.23530.1 + + # - pwsh: | + # .\sign code azure-key-vault ` + # "**/nanoFramework.nanoCLR.*" ` + # --base-directory "$(Build.SourcesDirectory)/nf-interpreter/build/bin/Release" ` + # --publisher-name ".NET nanoFramework" ` + # --description "nanoFramework.nanoCLR.CLI" ` + # --description-url "https://github.com/$env:Build_Repository_Name" ` + # --azure-key-vault-tenant-id "$(SignTenantId)" ` + # --azure-key-vault-client-id "$(SignClientId)" ` + # --azure-key-vault-client-secret "$(SignClientSecret)" ` + # --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` + # --azure-key-vault-url "$(SignKeyVaultUrl)" ` + # --timestamp-url http://timestamp.digicert.com + # displayName: Sign nanoCLR assemblies + # continueOnError: true + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], '') + # ) + + # - task: MSBuild@1 + # condition: succeeded() + # displayName: Pack nanoCLR CLI + # inputs: + # solution: "nf-interpreter/targets/netcore/nanoFramework.nanoCLR.CLI/nanoFramework.nanoCLR.CLI.csproj" + # platform: "Any CPU" + # msbuildArguments: "/p:PublicRelease=true /t:pack /p:PackageOutputPath=$(Build.ArtifactStagingDirectory) " + # configuration: "Release" + # maximumCpuCount: true + + # - pwsh: | + # .\sign code azure-key-vault ` + # "**/*.nupkg" ` + # --base-directory "$(Build.ArtifactStagingDirectory)" ` + # --publisher-name ".NET nanoFramework" ` + # --description "nanoFramework.nanoCLR.CLI NuGet" ` + # --description-url "https://github.com/$env:Build_Repository_Name" ` + # --azure-key-vault-tenant-id "$(SignTenantId)" ` + # --azure-key-vault-client-id "$(SignClientId)" ` + # --azure-key-vault-client-secret "$(SignClientSecret)" ` + # --azure-key-vault-certificate "$(SignKeyVaultCertificate)" ` + # --azure-key-vault-url "$(SignKeyVaultUrl)" ` + # --timestamp-url http://timestamp.digicert.com + # displayName: Sign packages + # continueOnError: true + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], '') + # ) + + # - task: CopyFiles@2 + # condition: succeeded() + # displayName: Copy nanoclr + # inputs: + # SourceFolder: "nf-interpreter/build/bin/Release" + # Contents: "nanoFramework.nanoCLR.dll" + # TargetFolder: "$(Build.ArtifactStagingDirectory)/nanoclr" + + # - task: PublishPipelineArtifact@1 + # condition: succeeded() + # displayName: Publish nanoclr + # inputs: + # targetPath: "$(Build.ArtifactStagingDirectory)/nanoclr" + # artifactName: nanoclr_cli + # artifactType: pipeline + + # # push NuGet packages to Azure Artifacts feed (always happens when building from main, except on PR builds) + # - task: NuGetCommand@2 + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], ''), + # or( + # eq(variables['ForceUpload'], true), + # eq(variables['Build.SourceBranchName'], 'main') + # ) + # ) + # continueOnError: true + # displayName: Push NuGet packages to Azure Artifacts + # inputs: + # command: push + # nuGetFeedType: external + # packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" + # publishFeedCredentials: "AzureArtifacts-nf-interpreter" + # allowPackageConflicts: true + + # # push NuGet packages to NuGet (always happens when building from main, except on PR builds) + # - task: NuGetCommand@2 + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], ''), + # or( + # eq(variables['ForceUpload'], true), + # eq(variables['Build.SourceBranchName'], 'main') + # ) + # ) + # continueOnError: true + # displayName: Push NuGet packages to NuGet + # inputs: + # command: push + # nuGetFeedType: external + # allowPackageConflicts: true + # packagesToPush: "$(Build.ArtifactStagingDirectory)/*.nupkg" + # publishFeedCredentials: "NuGet-nf-interpreter" + + # ######################### + # # Run mscorlib Unit Tests + + # - job: Run_UnitTests_mscorlib + # condition: >- + # or( + # and( + # succeeded('Build_nanoCLR_CLI'), + # ne(dependencies.Check_Build_Options.outputs['BuildOptions.SKIP_BUILD'], true), + # ne(variables['System.PullRequest.PullRequestId'], ''), + # or( + # eq(dependencies.Check_Build_Options.outputs['BuildOptions.RUN_MSCORLIB_TESTS'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), + # eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_NANOCLR_CLI'], true) + # ) + # ), + # and( + # eq(variables['Build.Reason'], 'Manual'), + # or( + # eq(variables['BUILD_ALL__'], 'true'), + # eq(variables['BUILD_NANOCLR_CLI__'], 'true') + # ), + # eq(variables['RUN_MSCORLIB_TESTS__'], 'true') + # ) + # ) + + # dependsOn: + # - Build_nanoCLR_CLI + + # pool: + # vmImage: "windows-latest" + + # variables: + # DOTNET_NOLOGO: true + # solution: "nanoFramework.CoreLibrary.sln" + # buildPlatform: "Any CPU" + # buildConfiguration: "Release" + + # steps: + # - checkout: self + # fetchDepth: 1 + # - checkout: mscorlib + # fetchDepth: 100 + # submodules: true + # persistCredentials: true + + # - template: azure-pipelines-templates/check-mscorlib-to-test.yml + + # # Download nanoclr from build artifacts + # - task: DownloadBuildArtifacts@1 + # inputs: + # buildType: "current" + # artifactName: "nanoclr_cli" + # downloadPath: "$(Agent.TempDirectory)/nanoclr_cli" + + # # build mscorlib + + # - task: InstallNanoMSBuildComponents@1 + # condition: succeeded() + # displayName: Install .NET nanoFramework MSBuild components + # inputs: + # GitHubToken: $(GitHubToken) + + # - template: azure-pipelines-templates/install-nuget.yml@templates + + # - task: Cache@2 + # displayName: Cache NuGet packages + # condition: succeeded() + # continueOnError: true + # inputs: + # key: 'nuget | **/packages.lock.json' + # path: $(UserProfile)/.nuget/packages + + # - task: NuGetCommand@2 + # condition: succeeded() + # displayName: NuGet restore + # retryCountOnTaskFailure: 5 + # inputs: + # restoreSolution: "**/nanoFramework.CoreLibrary.sln" + # feedsToUse: select + + # - task: VSBuild@1 + # condition: succeeded() + # inputs: + # solution: "**/nanoFramework.CoreLibrary.sln" + # platform: "Any CPU" + # msbuildArgs: "/p:PublicRelease=true" + # configuration: "Release" + # msbuildArchitecture: "x64" + # maximumCpuCount: true + + # # run tests + # - template: azure-pipelines-templates/run-unit-tests.yml@templates + # parameters: + # runUnitTests: true + # unitTestRunsettings: '$(System.DefaultWorkingDirectory)\nf-interpreter\targets\netcore\pipeline_tests.runsettings' + # packagesDirectory: "$(Build.SourcesDirectory)/CoreLibrary/packages" + + # - task: CopyFiles@2 + # condition: succeededOrFailed() + # displayName: Copy vstest dump files + # inputs: + # SourceFolder: 'D:\a\_temp\' + # Contents: "**/*.dmp" + # TargetFolder: "$(Build.ArtifactStagingDirectory)/vstest_dumps" + # flattenFolders: true + + # - powershell: | + # $dumpPath = "$(Build.ArtifactStagingDirectory)/vstest_dumps" + # $hasFiles = $false + + # if (Test-Path $dumpPath -PathType Container) { + # $fileCount = (Get-ChildItem $dumpPath -File | Measure-Object).Count + # $hasFiles = $fileCount -gt 0 + # } + # echo "##vso[task.setvariable variable=hasFiles;isOutput=true]$hasFiles" + # displayName: "Check for dump files" + # name: checkFiles + + # - task: PublishPipelineArtifact@1 + # condition: eq(variables['hasFiles'], 'true') + # displayName: Publish vstest dump files + # inputs: + # targetPath: "$(Build.ArtifactStagingDirectory)/vstest_dumps" + # artifactName: VsTestCrashDumps + # artifactType: pipeline + + # ###################### + # # generate change log + # - job: Generate_change_log + # dependsOn: + # - Build_STM32_targets + # - Build_ESP32_targets + # - Build_NXP_targets + # - Build_TI_SimpleLink_targets + # - Build_Azure_RTOS_targets + # # skip build if this is a PR, submitted by nfbot and the commit message contains [version update] + # condition: >- + # and( + # succeeded('Build_STM32_targets'), + # succeeded('Build_ESP32_targets'), + # succeeded('Build_NXP_targets'), + # succeeded('Build_TI_SimpleLink_targets'), + # succeeded('Build_Azure_RTOS_targets'), + # not( eq(variables['Build.Reason'], 'PullRequest') + # ), + # or( + # eq(variables['Build.SourceBranchName'], 'main'), + # startsWith(variables['Build.SourceBranch'], 'refs/tags/v') ), + # ne( variables['StartReleaseCandidate'], true ) + # ) + + # pool: + # vmImage: "windows-latest" + + # steps: + # - task: DotNetCoreCLI@2 + # condition: succeeded() + # displayName: Install NBGV tool + # inputs: + # command: custom + # custom: tool + # arguments: install --tool-path . nbgv + + # - script: nbgv cloud -a -c + # condition: succeeded() + # displayName: Set build number + + # - task: UseRubyVersion@0 + # condition: succeeded() + # inputs: + # versionSpec: "= 3.0" + # addToPath: true + + # # Cache change log cache files + # - task: Cache@2 + # displayName: Cache change log cache files + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], ''), + # startsWith(variables['Build.SourceBranch'], 'refs/tags/v') + # ) + # inputs: + # key: "changeLogCacheFiles" + # restoreKeys: 1_0 + # path: | + # $(Agent.TempDirectory)/github-changelog-logger.log + # $(Agent.TempDirectory)/github-changelog-http-cache + + # # generate change log including future version + # - powershell: | + # gem install github_changelog_generator --quiet --no-document + # # need to call it passing both cache options with full path otherwise it won't work + # 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" + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], ''), + # startsWith(variables['Build.SourceBranch'], 'refs/tags/v') + # ) + # displayName: Generate change log + + # # push new changelog to GitHub repo + # - powershell: | + # git config --global gc.auto 0 + # git config --global user.name nfbot + # git config --global user.email nanoframework@outlook.com + # git config --global core.autocrlf true + + # git add CHANGELOG.md + # git commit -m "Update CHANGELOG" -m"***NO_CI***" + + # # compute authorization header in format "AUTHORIZATION: basic 'encoded token'" + # # 'encoded token' is the Base64 of the string "nfbot:personal-token" + # $auth = "basic $([System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("nfbot:$(GitHubToken)")))" + + # git -c http.extraheader="AUTHORIZATION: $auth" push origin "HEAD:$(Build.SourceBranchName)" + # condition: >- + # and( + # succeeded(), + # eq(variables['System.PullRequest.PullRequestId'], ''), + # not( + # startsWith(variables['Build.SourceBranch'], 'refs/tags/v') + # ), + # eq( variables['StartReleaseCandidate'], false ) + # ) + # continueOnError: true + # displayName: Push changelog to GitHub + + # ################################# + # # report build failure to Discord + # - job: Report_Build_Failure + # dependsOn: + # - Build_TI_SimpleLink_targets + # - Check_Code_Style + # condition: >- + # and( + # ne( dependencies.Check_Code_Style.outputs['Check_Code_Style.CODE_STYLE_CHECK_FAILED'], true), + # failed('Build_TI_SimpleLink_targets') + # ) + + # pool: + # vmImage: "windows-latest" + + # steps: + # - checkout: self + # fetchDepth: 1 + + # # step from template @ nf-tools repo + # - template: azure-pipelines-templates/discord-webhook.yml@templates + # parameters: + # status: "failure" + # webhookUrl: "$(DiscordWebhook)" + # message: "" From c083964c68741e0c4d50d8571907e8c642b25e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 14 Apr 2025 11:50:41 +0100 Subject: [PATCH 2/4] Removing CMake --- azure-pipelines.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index aebc7e5051..44ff30dd2e 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -702,7 +702,6 @@ jobs: steps: - template: azure-pipelines-templates/build-preparations.yml - template: azure-pipelines-templates/nb-gitversioning.yml - - template: azure-pipelines-templates/download-install-cmake.yml - template: azure-pipelines-templates/download-install-arm-gcc-toolchain.yml - template: azure-pipelines-templates/download-install-ninja.yml - template: azure-pipelines-templates/build-ti-simplelink-targets.yml From e5b47bce9de2fc3ae31e86027ff32a8a0adf5568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 14 Apr 2025 11:57:56 +0100 Subject: [PATCH 3/4] Test Ninja --- azure-pipelines-templates/download-install-ninja.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/azure-pipelines-templates/download-install-ninja.yml b/azure-pipelines-templates/download-install-ninja.yml index 7021786424..5f126414fa 100644 --- a/azure-pipelines-templates/download-install-ninja.yml +++ b/azure-pipelines-templates/download-install-ninja.yml @@ -32,3 +32,7 @@ steps: - script: echo "##vso[task.prependpath]$(Agent.TempDirectory)\ninja" displayName: Tweak PATH with Ninja + + - script: | + ninja --version + displayName: Ninja Version Check From 6b2dd4902d5af9bdfe578d87ebdb9d05eef697cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Mon, 14 Apr 2025 12:12:08 +0100 Subject: [PATCH 4/4] Remove install of Ninja --- .../download-install-ninja.yml | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/azure-pipelines-templates/download-install-ninja.yml b/azure-pipelines-templates/download-install-ninja.yml index 5f126414fa..62ab14a9f0 100644 --- a/azure-pipelines-templates/download-install-ninja.yml +++ b/azure-pipelines-templates/download-install-ninja.yml @@ -7,31 +7,6 @@ parameters: default: $(Build.SourcesDirectory) steps: - - task: Cache@2 - inputs: - key: "1-12-1 | ninjaKey" - restoreKeys: ninjaKey - path: $(Agent.TempDirectory)/ninja - cacheHitVar: NINJA_CACHE_RESTORED - displayName: Cache Ninja - - - task: PowerShell@2 - condition: ne(variables.NINJA_CACHE_RESTORED, 'true') - displayName: Download Ninja - inputs: - targetType: "filePath" - filePath: '${{ parameters.repoDirectory }}\install-scripts\install-ninja.ps1' - failOnStderr: true - - - task: ExtractFiles@1 - inputs: - archiveFilePatterns: '$(Agent.TempDirectory)\ninja.zip' - destinationFolder: '$(Agent.TempDirectory)\ninja' - condition: ne(variables.NINJA_CACHE_RESTORED, 'true') - displayName: Extract Ninja - - - script: echo "##vso[task.prependpath]$(Agent.TempDirectory)\ninja" - displayName: Tweak PATH with Ninja - script: | ninja --version