diff --git a/azure-pipelines-nightly.yml b/azure-pipelines-nightly.yml index cc52f2ba37..2b2796cb27 100644 --- a/azure-pipelines-nightly.yml +++ b/azure-pipelines-nightly.yml @@ -240,469 +240,469 @@ jobs: displayName: Get targets to build condition: eq(variables['BuildOptions.CHECK_CHANGES'], 'True') -################ -# STM32 -- job: Build_STM32_targets - condition: >- - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_CHIBIOS'], true), - contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_CHIBIOS__'], 'true') - ) - ) - ) - dependsOn: - - Check_Build_Options - - pool: - vmImage: 'windows-latest' - - strategy: - matrix: - ORGPAL_PALTHREE: - TargetBoard: ORGPAL_PALTHREE - TargetSeries: 'stm32f7xx' - BuildOptions: - NeedsDFU: true - NeedsSRECORD: false - CMakePreset: ORGPAL_PALTHREE - - ORGPAL_PALX: - TargetBoard: ORGPAL_PALX - TargetSeries: 'stm32f7xx' - BuildOptions: - NeedsDFU: true - NeedsSRECORD: false - CMakePreset: ORGPAL_PALX - - ST_NUCLEO64_F091RC: - TargetBoard: ST_NUCLEO64_F091RC - TargetSeries: 'stm32f0xx' - BuildOptions: - NeedsDFU: false - NeedsSRECORD: true - CMakePreset: ST_NUCLEO64_F091RC - - variables: - DOTNET_NOLOGO: true - # creates a counter and assigns it to the revision variable - REVISION: $[counter('STM32_1_9_1_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-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( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ESP32'], true), - contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_ESP32__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - pool: - vmImage: 'windows-latest' - - strategy: - matrix: - ESP32_REV0: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - SDK_config: sdkconfig.default_nopsram.esp32 - IDF_Target: esp32 - TargetName: ESP32 - PackageName: ESP32_REV0 - CMakePreset: ESP32_REV0 - - ESP32_PSRAM_REV3: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32 - PackageName: ESP32_PSRAM_REV3 - CMakePreset: ESP32_PSRAM_REV3 - - ESP32_PSRAM_XTAL26_REV0: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32 - PackageName: ESP32_PSRAM_XTAL26_REV0 - CMakePreset: ESP32_PSRAM_XTAL26_REV0 - - ESP32_REV3: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32 - PackageName: ESP32_REV3 - CMakePreset: ESP32_REV3 - - ESP32_PICO: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_PICO - PackageName: ESP32_PICO - CMakePreset: ESP32_PICO - - KALUGA_1: - TargetBoard: ESP32_S2 - TargetSeries: 'esp32_s2' - BuildOptions: - IDF_Target: esp32s2 - TargetName: KALUGA_1 - PackageName: KALUGA_1 - CMakePreset: KALUGA_1 - - ESP32_BLE_REV3: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32 - PackageName: ESP32_BLE_REV3 - CMakePreset: ESP32_BLE_REV3 - - ESP32_OLIMEX: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_OLIMEX - PackageName: ESP32_OLIMEX - CMakePreset: ESP32_OLIMEX - - ESP32_OLIMEX_WROVER: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_OLIMEX_WROVER - PackageName: ESP32_OLIMEX_WROVER - CMakePreset: ESP32_OLIMEX_WROVER - - M5StickC: - TargetBoard: ESP32 - TargetPlatform: 'esp32' - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: M5StickC - PackageName: M5StickC - CMakePreset: M5StickC - - M5StickCPlus: - TargetBoard: ESP32 - TargetPlatform: 'esp32' - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: M5StickCPlus - PackageName: M5StickCPlus - CMakePreset: M5StickCPlus - - M5Core: - TargetBoard: ESP32 - TargetPlatform: 'esp32' - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: M5Core - PackageName: M5Core - CMakePreset: M5Core - - M5Core2: - TargetBoard: ESP32 - TargetPlatform: 'esp32' - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: M5Core2 - PackageName: M5Core2 - CMakePreset: M5Core2 - - AtomS3: - TargetBoard: ESP32_S3 - TargetPlatform: 'esp32' - TargetSeries: 'esp32s3' - BuildOptions: - IDF_Target: esp32s3 - TargetName: AtomS3 - PackageName: AtomS3 - CMakePreset: AtomS3 - - ESP32_C3_REV3: - TargetBoard: ESP32_C3 - TargetSeries: 'esp32c3' - BuildOptions: - IDF_Target: esp32c3 - TargetName: ESP32_C3_REV3 - PackageName: ESP32_C3_REV3 - CMakePreset: ESP32_C3_REV3 - - ESP32_GenericDisplay_REV0: - TargetBoard: ESP32 - TargetPlatform: 'esp32' - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_GenericDisplay_REV0 - PackageName: ESP32_GenericDisplay_REV0 - CMakePreset: ESP32_GenericDisplay_REV0 - - ESP32_PSRAM_BLE_GenericGraphic_REV3: - TargetBoard: ESP32 - TargetPlatform: 'esp32' - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_PSRAM_BLE_GenericGraphic_REV3 - PackageName: ESP32_PSRAM_BLE_GenericGraphic_REV3 - CMakePreset: ESP32_PSRAM_BLE_GenericGraphic_REV3 - - XIAO_ESP32C3: - TargetBoard: ESP32_C3 - TargetSeries: 'esp32c3' - BuildOptions: - IDF_Target: esp32c3 - TargetName: XIAO_ESP32C3 - PackageName: XIAO_ESP32C3 - CMakePreset: XIAO_ESP32C3 - - ESP32_S3_BLE: - TargetBoard: ESP32_S3 - TargetSeries: 'esp32s3' - BuildOptions: - IDF_Target: esp32s3 - TargetName: ESP32_S3_BLE - PackageName: ESP32_S3_BLE - CMakePreset: ESP32_S3_BLE - - ESP32_WESP32: - TargetSeries: 'esp32' - TargetBoard: ESP32 - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_WESP32 - PackageName: ESP32_WESP32 - CMakePreset: ESP32_WESP32 - - ESP32_WT32_ETH01: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - TargetName: ESP32_WT32_ETH01 - IDF_Target: esp32 - PackageName: ESP32_WT32_ETH01 - CMakePreset: ESP32_WT32_ETH01 - - variables: - DOTNET_NOLOGO: true - # creates a counter and assigns it to the revision variable - REVISION: $[counter('ESP32_1_9_1_versioncounter', 0)] - IDF_PATH: 'D:/a/1/s/esp-idf' - PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip - TargetPlatform: 'esp32' - - steps: - - checkout: self - - checkout: esp32_idf - fetchDepth: 1 - - - template: azure-pipelines-templates/build-preparations.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' - - template: azure-pipelines-templates/nb-gitversioning.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' - - template: azure-pipelines-templates/download-install-esp32-build-components.yml - - template: azure-pipelines-templates/download-install-ninja.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' - - template: azure-pipelines-templates/build-espressif-esp32-targets.yml - - - task: CopyFiles@2 - condition: succeeded() - displayName: Copying bootloader - inputs: - sourceFolder: '$(Build.SourcesDirectory)\nf-interpreter\build\bootloader' - Contents: | - bootloader.bin - TargetFolder: '$(Build.ArtifactStagingDirectory)\$(TargetPublishName)' - flattenFolders: true - ignoreMakeDirErrors: true - - - template: azure-pipelines-templates/copy-sdkconfig.yml - - template: azure-pipelines-templates/pack-publish-artifacts.yml - parameters: - buildDirectory: '$(Build.SourcesDirectory)\nf-interpreter\build' - - template: azure-pipelines-templates/publish-cloudsmith.yml - - template: azure-pipelines-templates/publish-sdkconfig.yml - -################# -# TI SimpleLink -- job: Build_TI_SimpleLink_targets - condition: >- - or( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_TI'], true), - contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_TI__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - pool: - vmImage: 'windows-latest' - - strategy: - matrix: - TI_CC1352R1_LAUNCHXL_868: - TargetBoard: TI_CC1352R1_LAUNCHXL - PackageName: TI_CC1352R1_LAUNCHXL_868 - TargetSeries: 'CC13X2' - BuildOptions: >- - -DRADIO_FREQUENCY=868 - CMakePreset: TI_CC1352R1_LAUNCHXL - - variables: - DOTNET_NOLOGO: true - # creates a counter and assigns it to the revision variable - REVISION: $[counter('TI_1_9_1_versioncounter', 0)] - HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] - TargetPlatform: 'ti_simplelink' - - steps: - - template: azure-pipelines-templates/build-preparations.yml - - template: azure-pipelines-templates/nb-gitversioning.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 - - template: azure-pipelines-templates/pack-publish-artifacts.yml - - 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( - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_AZURERTOS'], true), - contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_AZURERTOS__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - pool: - vmImage: 'windows-latest' - - strategy: - matrix: - - SL_STK3701A_REVB: - TargetBoard: SL_STK3701A_REVB - TargetSeries: 'efm32gg11' - BuildOptions: - NeedsDFU: false - NeedsSRECORD: false - TargetName: SL_STK3701A_REVB - PackageName: SL_STK3701A_REVB - CMakePreset: SL_STK3701A_REVB - - variables: - # creates a counter and assigns it to the revision variable - REVISION: $[counter('AZURERTOS_1_9_1_versioncounter', 0)] - HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] - TargetPlatform: 'azure_rtos' - - steps: - - template: azure-pipelines-templates/build-preparations.yml - - template: azure-pipelines-templates/nb-gitversioning.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 - -################################# -# report build failure to Discord -- job: Report_Build_Failure - dependsOn: - - Build_STM32_targets - - Build_ESP32_targets - - Build_TI_SimpleLink_targets - - Build_Azure_RTOS_targets - condition: >- - or( - failed('Build_STM32_targets'), - failed('Build_ESP32_targets'), - failed('Build_TI_SimpleLink_targets'), - failed('Build_Azure_RTOS_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: '' +# ################ +# # STM32 +# - job: Build_STM32_targets +# condition: >- +# or( +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_CHIBIOS'], true), +# contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), +# and( +# eq(variables['Build.Reason'], 'Manual'), +# or( +# eq(variables['BUILD_ALL__'], 'true'), +# eq(variables['BUILD_CHIBIOS__'], 'true') +# ) +# ) +# ) +# dependsOn: +# - Check_Build_Options + +# pool: +# vmImage: 'windows-latest' + +# strategy: +# matrix: +# ORGPAL_PALTHREE: +# TargetBoard: ORGPAL_PALTHREE +# TargetSeries: 'stm32f7xx' +# BuildOptions: +# NeedsDFU: true +# NeedsSRECORD: false +# CMakePreset: ORGPAL_PALTHREE + +# ORGPAL_PALX: +# TargetBoard: ORGPAL_PALX +# TargetSeries: 'stm32f7xx' +# BuildOptions: +# NeedsDFU: true +# NeedsSRECORD: false +# CMakePreset: ORGPAL_PALX + +# ST_NUCLEO64_F091RC: +# TargetBoard: ST_NUCLEO64_F091RC +# TargetSeries: 'stm32f0xx' +# BuildOptions: +# NeedsDFU: false +# NeedsSRECORD: true +# CMakePreset: ST_NUCLEO64_F091RC + +# variables: +# DOTNET_NOLOGO: true +# # creates a counter and assigns it to the revision variable +# REVISION: $[counter('STM32_1_9_1_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-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( +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ESP32'], true), +# contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), +# and( +# eq(variables['Build.Reason'], 'Manual'), +# or( +# eq(variables['BUILD_ALL__'], 'true'), +# eq(variables['BUILD_ESP32__'], 'true') +# ) +# ) +# ) + +# dependsOn: +# - Check_Build_Options + +# pool: +# vmImage: 'windows-latest' + +# strategy: +# matrix: +# ESP32_REV0: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# SDK_config: sdkconfig.default_nopsram.esp32 +# IDF_Target: esp32 +# TargetName: ESP32 +# PackageName: ESP32_REV0 +# CMakePreset: ESP32_REV0 + +# ESP32_PSRAM_REV3: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32 +# PackageName: ESP32_PSRAM_REV3 +# CMakePreset: ESP32_PSRAM_REV3 + +# ESP32_PSRAM_XTAL26_REV0: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32 +# PackageName: ESP32_PSRAM_XTAL26_REV0 +# CMakePreset: ESP32_PSRAM_XTAL26_REV0 + +# ESP32_REV3: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32 +# PackageName: ESP32_REV3 +# CMakePreset: ESP32_REV3 + +# ESP32_PICO: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32_PICO +# PackageName: ESP32_PICO +# CMakePreset: ESP32_PICO + +# KALUGA_1: +# TargetBoard: ESP32_S2 +# TargetSeries: 'esp32_s2' +# BuildOptions: +# IDF_Target: esp32s2 +# TargetName: KALUGA_1 +# PackageName: KALUGA_1 +# CMakePreset: KALUGA_1 + +# ESP32_BLE_REV3: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32 +# PackageName: ESP32_BLE_REV3 +# CMakePreset: ESP32_BLE_REV3 + +# ESP32_OLIMEX: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32_OLIMEX +# PackageName: ESP32_OLIMEX +# CMakePreset: ESP32_OLIMEX + +# ESP32_OLIMEX_WROVER: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32_OLIMEX_WROVER +# PackageName: ESP32_OLIMEX_WROVER +# CMakePreset: ESP32_OLIMEX_WROVER + +# M5StickC: +# TargetBoard: ESP32 +# TargetPlatform: 'esp32' +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: M5StickC +# PackageName: M5StickC +# CMakePreset: M5StickC + +# M5StickCPlus: +# TargetBoard: ESP32 +# TargetPlatform: 'esp32' +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: M5StickCPlus +# PackageName: M5StickCPlus +# CMakePreset: M5StickCPlus + +# M5Core: +# TargetBoard: ESP32 +# TargetPlatform: 'esp32' +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: M5Core +# PackageName: M5Core +# CMakePreset: M5Core + +# M5Core2: +# TargetBoard: ESP32 +# TargetPlatform: 'esp32' +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: M5Core2 +# PackageName: M5Core2 +# CMakePreset: M5Core2 + +# AtomS3: +# TargetBoard: ESP32_S3 +# TargetPlatform: 'esp32' +# TargetSeries: 'esp32s3' +# BuildOptions: +# IDF_Target: esp32s3 +# TargetName: AtomS3 +# PackageName: AtomS3 +# CMakePreset: AtomS3 + +# ESP32_C3_REV3: +# TargetBoard: ESP32_C3 +# TargetSeries: 'esp32c3' +# BuildOptions: +# IDF_Target: esp32c3 +# TargetName: ESP32_C3_REV3 +# PackageName: ESP32_C3_REV3 +# CMakePreset: ESP32_C3_REV3 + +# ESP32_GenericDisplay_REV0: +# TargetBoard: ESP32 +# TargetPlatform: 'esp32' +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32_GenericDisplay_REV0 +# PackageName: ESP32_GenericDisplay_REV0 +# CMakePreset: ESP32_GenericDisplay_REV0 + +# ESP32_PSRAM_BLE_GenericGraphic_REV3: +# TargetBoard: ESP32 +# TargetPlatform: 'esp32' +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32_PSRAM_BLE_GenericGraphic_REV3 +# PackageName: ESP32_PSRAM_BLE_GenericGraphic_REV3 +# CMakePreset: ESP32_PSRAM_BLE_GenericGraphic_REV3 + +# XIAO_ESP32C3: +# TargetBoard: ESP32_C3 +# TargetSeries: 'esp32c3' +# BuildOptions: +# IDF_Target: esp32c3 +# TargetName: XIAO_ESP32C3 +# PackageName: XIAO_ESP32C3 +# CMakePreset: XIAO_ESP32C3 + +# ESP32_S3_BLE: +# TargetBoard: ESP32_S3 +# TargetSeries: 'esp32s3' +# BuildOptions: +# IDF_Target: esp32s3 +# TargetName: ESP32_S3_BLE +# PackageName: ESP32_S3_BLE +# CMakePreset: ESP32_S3_BLE + +# ESP32_WESP32: +# TargetSeries: 'esp32' +# TargetBoard: ESP32 +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32_WESP32 +# PackageName: ESP32_WESP32 +# CMakePreset: ESP32_WESP32 + +# ESP32_WT32_ETH01: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# TargetName: ESP32_WT32_ETH01 +# IDF_Target: esp32 +# PackageName: ESP32_WT32_ETH01 +# CMakePreset: ESP32_WT32_ETH01 + +# variables: +# DOTNET_NOLOGO: true +# # creates a counter and assigns it to the revision variable +# REVISION: $[counter('ESP32_1_9_1_versioncounter', 0)] +# IDF_PATH: 'D:/a/1/s/esp-idf' +# PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip +# TargetPlatform: 'esp32' + +# steps: +# - checkout: self +# - checkout: esp32_idf +# fetchDepth: 1 + +# - template: azure-pipelines-templates/build-preparations.yml +# parameters: +# repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' +# - template: azure-pipelines-templates/nb-gitversioning.yml +# parameters: +# repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' +# - template: azure-pipelines-templates/download-install-esp32-build-components.yml +# - template: azure-pipelines-templates/download-install-ninja.yml +# parameters: +# repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' +# - template: azure-pipelines-templates/build-espressif-esp32-targets.yml + +# - task: CopyFiles@2 +# condition: succeeded() +# displayName: Copying bootloader +# inputs: +# sourceFolder: '$(Build.SourcesDirectory)\nf-interpreter\build\bootloader' +# Contents: | +# bootloader.bin +# TargetFolder: '$(Build.ArtifactStagingDirectory)\$(TargetPublishName)' +# flattenFolders: true +# ignoreMakeDirErrors: true + +# - template: azure-pipelines-templates/copy-sdkconfig.yml +# - template: azure-pipelines-templates/pack-publish-artifacts.yml +# parameters: +# buildDirectory: '$(Build.SourcesDirectory)\nf-interpreter\build' +# - template: azure-pipelines-templates/publish-cloudsmith.yml +# - template: azure-pipelines-templates/publish-sdkconfig.yml + +# ################# +# # TI SimpleLink +# - job: Build_TI_SimpleLink_targets +# condition: >- +# or( +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_TI'], true), +# contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), +# and( +# eq(variables['Build.Reason'], 'Manual'), +# or( +# eq(variables['BUILD_ALL__'], 'true'), +# eq(variables['BUILD_TI__'], 'true') +# ) +# ) +# ) + +# dependsOn: +# - Check_Build_Options + +# pool: +# vmImage: 'windows-latest' + +# strategy: +# matrix: +# TI_CC1352R1_LAUNCHXL_868: +# TargetBoard: TI_CC1352R1_LAUNCHXL +# PackageName: TI_CC1352R1_LAUNCHXL_868 +# TargetSeries: 'CC13X2' +# BuildOptions: >- +# -DRADIO_FREQUENCY=868 +# CMakePreset: TI_CC1352R1_LAUNCHXL + +# variables: +# DOTNET_NOLOGO: true +# # creates a counter and assigns it to the revision variable +# REVISION: $[counter('TI_1_9_1_versioncounter', 0)] +# HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] +# TargetPlatform: 'ti_simplelink' + +# steps: +# - template: azure-pipelines-templates/build-preparations.yml +# - template: azure-pipelines-templates/nb-gitversioning.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 +# - template: azure-pipelines-templates/pack-publish-artifacts.yml +# - 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( +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ALL'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_AZURERTOS'], true), +# contains(dependencies.Check_Build_Options.outputs['GetCommitDetails.COMMIT_MESSAGE'], '***BUILD_ALL***'), +# and( +# eq(variables['Build.Reason'], 'Manual'), +# or( +# eq(variables['BUILD_ALL__'], 'true'), +# eq(variables['BUILD_AZURERTOS__'], 'true') +# ) +# ) +# ) + +# dependsOn: +# - Check_Build_Options + +# pool: +# vmImage: 'windows-latest' + +# strategy: +# matrix: + +# SL_STK3701A_REVB: +# TargetBoard: SL_STK3701A_REVB +# TargetSeries: 'efm32gg11' +# BuildOptions: +# NeedsDFU: false +# NeedsSRECORD: false +# TargetName: SL_STK3701A_REVB +# PackageName: SL_STK3701A_REVB +# CMakePreset: SL_STK3701A_REVB + +# variables: +# # creates a counter and assigns it to the revision variable +# REVISION: $[counter('AZURERTOS_1_9_1_versioncounter', 0)] +# HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] +# TargetPlatform: 'azure_rtos' + +# steps: +# - template: azure-pipelines-templates/build-preparations.yml +# - template: azure-pipelines-templates/nb-gitversioning.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 + +# ################################# +# # report build failure to Discord +# - job: Report_Build_Failure +# dependsOn: +# - Build_STM32_targets +# - Build_ESP32_targets +# - Build_TI_SimpleLink_targets +# - Build_Azure_RTOS_targets +# condition: >- +# or( +# failed('Build_STM32_targets'), +# failed('Build_ESP32_targets'), +# failed('Build_TI_SimpleLink_targets'), +# failed('Build_Azure_RTOS_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: '' diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 064d5ec960..f0e44f5ee8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -324,481 +324,481 @@ jobs: condition: eq( variables['StartReleaseCandidate'], true ) displayName: NBGV prepare release -############################## -- job: Check_Code_Style - condition: >- - and( - 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), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ESP32'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_FREERTOS'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_TI'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_AZURERTOS'], true), - eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_WIN32'], true) - ) - ) - - dependsOn: - - Check_Build_Options - - pool: - vmImage: 'windows-latest' - - steps: - - checkout: self - fetchDepth: 1 - condition: ne(variables['System.PullRequest.PullRequestId'], '') - - - 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_9_1_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-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 - - ESP_WROVER_KIT: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP_WROVER_KIT - PackageName: ESP_WROVER_KIT - CMakePreset: ESP_WROVER_KIT - - ESP32_LILYGO: - TargetBoard: ESP32 - TargetSeries: 'esp32' - BuildOptions: - IDF_Target: esp32 - TargetName: ESP32_LILYGO - PackageName: ESP32_LILYGO - CMakePreset: ESP32_LILYGO - - FEATHER_S2: - TargetBoard: ESP32_S2 - TargetSeries: 'esp32_s2' - BuildOptions: - IDF_Target: esp32s2 - TargetName: FEATHER_S2 - PackageName: FEATHER_S2 - CMakePreset: FEATHER_S2 - - 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: - TargetBoard: ESP32_S3 - TargetSeries: 'esp32s3' - BuildOptions: - IDF_Target: esp32s3 - TargetName: ESP32_S3 - PackageName: ESP32_S3 - CMakePreset: ESP32_S3 - - 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 +# ############################## +# - job: Check_Code_Style +# condition: >- +# and( +# 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), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_ESP32'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_FREERTOS'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_TI'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_AZURERTOS'], true), +# eq(dependencies.Check_Build_Options.outputs['TargetsToBuild.BUILD_WIN32'], true) +# ) +# ) + +# dependsOn: +# - Check_Build_Options + +# pool: +# vmImage: 'windows-latest' + +# steps: +# - checkout: self +# fetchDepth: 1 +# condition: ne(variables['System.PullRequest.PullRequestId'], '') + +# - 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_9_1_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-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 + +# ESP_WROVER_KIT: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP_WROVER_KIT +# PackageName: ESP_WROVER_KIT +# CMakePreset: ESP_WROVER_KIT + +# ESP32_LILYGO: +# TargetBoard: ESP32 +# TargetSeries: 'esp32' +# BuildOptions: +# IDF_Target: esp32 +# TargetName: ESP32_LILYGO +# PackageName: ESP32_LILYGO +# CMakePreset: ESP32_LILYGO + +# FEATHER_S2: +# TargetBoard: ESP32_S2 +# TargetSeries: 'esp32_s2' +# BuildOptions: +# IDF_Target: esp32s2 +# TargetName: FEATHER_S2 +# PackageName: FEATHER_S2 +# CMakePreset: FEATHER_S2 + +# 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: +# TargetBoard: ESP32_S3 +# TargetSeries: 'esp32s3' +# BuildOptions: +# IDF_Target: esp32s3 +# TargetName: ESP32_S3 +# PackageName: ESP32_S3 +# CMakePreset: ESP32_S3 + +# 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_9_1_versioncounter', 0)] - IDF_PATH: 'D:/a/1/s/esp-idf' - PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip - TargetPlatform: 'esp32' - - steps: - - checkout: self - - checkout: esp32_idf - fetchDepth: 1 - - - template: azure-pipelines-templates/build-preparations.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' - - template: azure-pipelines-templates/nb-gitversioning.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' - - template: azure-pipelines-templates/download-install-esp32-build-components.yml - - template: azure-pipelines-templates/download-install-ninja.yml - parameters: - repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' - - template: azure-pipelines-templates/build-espressif-esp32-targets.yml - - - task: CopyFiles@2 - condition: succeeded() - displayName: Copying bootloader - inputs: - sourceFolder: '$(Build.SourcesDirectory)\nf-interpreter\build\bootloader' - Contents: | - bootloader.bin - TargetFolder: '$(Build.ArtifactStagingDirectory)\$(TargetPublishName)' - flattenFolders: true - ignoreMakeDirErrors: true - - - template: azure-pipelines-templates/copy-sdkconfig.yml - - template: azure-pipelines-templates/pack-publish-artifacts.yml - parameters: - buildDirectory: '$(Build.SourcesDirectory)\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_9_1_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-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 -- job: Build_TI_SimpleLink_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_TI'], true) - ) - ), - and( - eq(variables['Build.Reason'], 'Manual'), - or( - eq(variables['BUILD_ALL__'], 'true'), - eq(variables['BUILD_TI__'], 'true') - ) - ) - ) - - dependsOn: - - Check_Build_Options - - Check_Code_Style - - pool: - vmImage: 'windows-latest' - - strategy: - matrix: - # disabled: waiting to update SDK to latest version with Sys Config - # TI_CC3220SF_LAUNCHXL: - # TargetBoard: TI_CC3220SF_LAUNCHXL - # TargetSeries: 'cc32xx' - # BuildOptions: >- - # -DTARGET_SERIES=CC32xx - # -DRTOS=TI_SimpleLink - # -DSUPPORT_ANY_BASE_CONVERSION=OFF - # -DNF_FEATURE_DEBUGGER=ON - # -DNF_FEATURE_RTC=ON - # -DNF_FEATURE_WATCHDOG=OFF - # -DNF_FEATURE_HAS_CONFIG_BLOCK=ON - # -DAPI_System.Device.Gpio=ON - # -DAPI_System.Device.Spi=ON - # -DAPI_System.Device.I2c=ON - # -DAPI_System.Device.Pwm=ON - # -DAPI_System.Device.Adc=ON - # -DAPI_System.Net=ON - # -DAPI_nanoFramework.System.Collections=ON - # -DAPI_nanoFramework.System.Text=ON - - TI_CC1352R1_LAUNCHXL_915: - TargetBoard: TI_CC1352R1_LAUNCHXL - PackageName: TI_CC1352R1_LAUNCHXL_915 - TargetSeries: 'CC13X2' - BuildOptions: >- - -DRADIO_FREQUENCY=915 - CMakePreset: TI_CC1352R1_LAUNCHXL - - variables: - DOTNET_NOLOGO: true - # creates a counter and assigns it to the revision variable - REVISION: $[counter('TI_1_9_1_versioncounter', 0)] - HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] - TargetPlatform: 'ti_simplelink' - - steps: - - template: azure-pipelines-templates/build-preparations.yml - - template: azure-pipelines-templates/nb-gitversioning.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 - - template: azure-pipelines-templates/pack-publish-artifacts.yml - - 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: 'efm32gg11' - BuildOptions: - NeedsDFU: false - NeedsSRECORD: false - CMakePreset: SL_STK3701A - - variables: - # creates a counter and assigns it to the revision variable - REVISION: $[counter('AZURERTOS_1_9_1_versioncounter', 0)] - HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] - TargetPlatform: 'azure_rtos' - - steps: - - template: azure-pipelines-templates/build-preparations.yml - - template: azure-pipelines-templates/nb-gitversioning.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 +# variables: +# DOTNET_NOLOGO: true +# # creates a counter and assigns it to the revision variable +# REVISION: $[counter('ESP32_1_9_1_versioncounter', 0)] +# IDF_PATH: 'D:/a/1/s/esp-idf' +# PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip +# TargetPlatform: 'esp32' + +# steps: +# - checkout: self +# - checkout: esp32_idf +# fetchDepth: 1 + +# - template: azure-pipelines-templates/build-preparations.yml +# parameters: +# repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' +# - template: azure-pipelines-templates/nb-gitversioning.yml +# parameters: +# repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' +# - template: azure-pipelines-templates/download-install-esp32-build-components.yml +# - template: azure-pipelines-templates/download-install-ninja.yml +# parameters: +# repoDirectory: '$(Build.SourcesDirectory)\nf-interpreter' +# - template: azure-pipelines-templates/build-espressif-esp32-targets.yml + +# - task: CopyFiles@2 +# condition: succeeded() +# displayName: Copying bootloader +# inputs: +# sourceFolder: '$(Build.SourcesDirectory)\nf-interpreter\build\bootloader' +# Contents: | +# bootloader.bin +# TargetFolder: '$(Build.ArtifactStagingDirectory)\$(TargetPublishName)' +# flattenFolders: true +# ignoreMakeDirErrors: true + +# - template: azure-pipelines-templates/copy-sdkconfig.yml +# - template: azure-pipelines-templates/pack-publish-artifacts.yml +# parameters: +# buildDirectory: '$(Build.SourcesDirectory)\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_9_1_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-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 +# - job: Build_TI_SimpleLink_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_TI'], true) +# ) +# ), +# and( +# eq(variables['Build.Reason'], 'Manual'), +# or( +# eq(variables['BUILD_ALL__'], 'true'), +# eq(variables['BUILD_TI__'], 'true') +# ) +# ) +# ) + +# dependsOn: +# - Check_Build_Options +# - Check_Code_Style + +# pool: +# vmImage: 'windows-latest' + +# strategy: +# matrix: +# # disabled: waiting to update SDK to latest version with Sys Config +# # TI_CC3220SF_LAUNCHXL: +# # TargetBoard: TI_CC3220SF_LAUNCHXL +# # TargetSeries: 'cc32xx' +# # BuildOptions: >- +# # -DTARGET_SERIES=CC32xx +# # -DRTOS=TI_SimpleLink +# # -DSUPPORT_ANY_BASE_CONVERSION=OFF +# # -DNF_FEATURE_DEBUGGER=ON +# # -DNF_FEATURE_RTC=ON +# # -DNF_FEATURE_WATCHDOG=OFF +# # -DNF_FEATURE_HAS_CONFIG_BLOCK=ON +# # -DAPI_System.Device.Gpio=ON +# # -DAPI_System.Device.Spi=ON +# # -DAPI_System.Device.I2c=ON +# # -DAPI_System.Device.Pwm=ON +# # -DAPI_System.Device.Adc=ON +# # -DAPI_System.Net=ON +# # -DAPI_nanoFramework.System.Collections=ON +# # -DAPI_nanoFramework.System.Text=ON + +# TI_CC1352R1_LAUNCHXL_915: +# TargetBoard: TI_CC1352R1_LAUNCHXL +# PackageName: TI_CC1352R1_LAUNCHXL_915 +# TargetSeries: 'CC13X2' +# BuildOptions: >- +# -DRADIO_FREQUENCY=915 +# CMakePreset: TI_CC1352R1_LAUNCHXL + +# variables: +# DOTNET_NOLOGO: true +# # creates a counter and assigns it to the revision variable +# REVISION: $[counter('TI_1_9_1_versioncounter', 0)] +# HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] +# TargetPlatform: 'ti_simplelink' + +# steps: +# - template: azure-pipelines-templates/build-preparations.yml +# - template: azure-pipelines-templates/nb-gitversioning.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 +# - template: azure-pipelines-templates/pack-publish-artifacts.yml +# - 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: 'efm32gg11' +# BuildOptions: +# NeedsDFU: false +# NeedsSRECORD: false +# CMakePreset: SL_STK3701A + +# variables: +# # creates a counter and assigns it to the revision variable +# REVISION: $[counter('AZURERTOS_1_9_1_versioncounter', 0)] +# HelperPackageVersion: $[counter('HelperPackageVersioncounter', 0)] +# TargetPlatform: 'azure_rtos' + +# steps: +# - template: azure-pipelines-templates/build-preparations.yml +# - template: azure-pipelines-templates/nb-gitversioning.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 @@ -806,7 +806,6 @@ jobs: 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), @@ -824,7 +823,6 @@ jobs: dependsOn: - Check_Build_Options - - Check_Code_Style pool: vmImage: 'windows-latest' @@ -1308,148 +1306,148 @@ jobs: 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: '' +# ###################### +# # 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: ''