-
-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Work CI-CD #2983
base: main
Are you sure you want to change the base?
Work CI-CD #2983
Conversation
- Replace deprecated CMake API. ***NO_CI***
WalkthroughThe recent updates focus on enhancing build performance across various target platforms by integrating caching mechanisms for Changes
Sequence Diagram(s)sequenceDiagram
participant CI as CI/CD Pipeline
participant Cache as Cache System
participant Build as Build Environment
CI->>Cache: Cache ccache files
Cache->>CI: Cache available
CI->>Build: Start build with ccache
Build->>Cache: Restore ccache files
Cache-->>Build: Provide cached files
Build->>CI: Complete build
CI->>Cache: Save ccache files
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (8)
- .gitignore (1 hunks)
- azure-pipelines-templates/build-azurertos-targets.yml (1 hunks)
- azure-pipelines-templates/build-chibios-stm32-targets.yml (1 hunks)
- azure-pipelines-templates/build-espressif-esp32-targets.yml (2 hunks)
- azure-pipelines-templates/build-freertos-nxp-targets.yml (2 hunks)
- azure-pipelines-templates/build-ti-simplelink-targets.yml (2 hunks)
- azure-pipelines-templates/download-ccache.yml (1 hunks)
- azure-pipelines.yml (7 hunks)
Files skipped from review due to trivial changes (1)
- .gitignore
Additional context used
yamllint
azure-pipelines-templates/download-ccache.yml
[error] 1-1: wrong new line character: expected \n
(new-lines)
Additional comments not posted (31)
azure-pipelines-templates/download-ccache.yml (4)
5-10
: LGTM!The caching step for
ccache
is correctly configured with the appropriate key and path.
12-22
: LGTM!The PowerShell step to download
ccache
is correctly configured with the appropriate URL and download logic.
24-29
: LGTM!The extraction step for
ccache
is correctly configured with the appropriate archive file patterns and destination folder.
31-33
: LGTM!The script step to add
ccache
to the PATH is correctly configured with the appropriate script and condition.azure-pipelines-templates/build-ti-simplelink-targets.yml (3)
14-19
: LGTM!The caching step for
ccache
files is correctly configured with the appropriate key and path.
23-23
: LGTM!The CMake step for setting up the build with
ccache
as the compiler launcher is correctly configured with the appropriate CMake arguments.
33-37
: LGTM!The step for saving
ccache
files is correctly configured with the appropriate key and path.azure-pipelines-templates/build-freertos-nxp-targets.yml (3)
14-19
: LGTM!The caching step for
ccache
files is correctly configured with the appropriate key and path.
23-23
: LGTM!The CMake step for setting up the build with
ccache
as the compiler launcher is correctly configured with the appropriate CMake arguments.
33-37
: LGTM!The step for saving
ccache
files is correctly configured with the appropriate key and path.azure-pipelines-templates/build-chibios-stm32-targets.yml (3)
14-20
: LGTM! The caching task forccache
files is correctly configured.The
Cache@2
task is well-integrated to cacheccache
files before the build process, which should help in reducing build times.
25-46
: LGTM! ThecmakeArgs
modifications are consistent and correctly integrated.The inclusion of
-DCMAKE_C_COMPILER_LAUNCHER=ccache
and-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
in thecmakeArgs
parameters across multiple CMake tasks is consistent and should enhance build efficiency.
55-59
: LGTM! The caching task for savingccache
files is correctly configured.The
Cache@2
task is well-integrated to saveccache
files after the build process, which should help in reducing build times for subsequent builds.azure-pipelines-templates/build-azurertos-targets.yml (3)
14-20
: LGTM! The caching task forccache
files is correctly configured.The
Cache@2
task is well-integrated to cacheccache
files before the build process, which should help in reducing build times.
25-46
: LGTM! ThecmakeArgs
modifications are consistent and correctly integrated.The inclusion of
-DCMAKE_C_COMPILER_LAUNCHER=ccache
and-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
in thecmakeArgs
parameters across multiple CMake tasks is consistent and should enhance build efficiency.
55-59
: LGTM! The caching task for savingccache
files is correctly configured.The
Cache@2
task is well-integrated to saveccache
files after the build process, which should help in reducing build times for subsequent builds.azure-pipelines-templates/build-espressif-esp32-targets.yml (5)
17-23
: LGTM! The caching task for IDF components is correctly configured.The
Cache@2
task is well-integrated to cache IDF components before the build process, which should help in reducing build times.
24-30
: LGTM! The caching task forccache
files is correctly configured.The
Cache@2
task is well-integrated to cacheccache
files before the build process, which should help in reducing build times.
35-35
: LGTM! ThecmakeArgs
modification is correctly integrated.The inclusion of
-DCMAKE_C_COMPILER_LAUNCHER=ccache
and-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
in thecmakeArgs
parameter should enhance build efficiency.
115-120
: LGTM! The caching task for saving IDF components is correctly configured.The
Cache@2
task is well-integrated to save IDF components after the build process, which should help in reducing build times for subsequent builds.
121-125
: LGTM! The caching task for savingccache
files is correctly configured.The
Cache@2
task is well-integrated to saveccache
files after the build process, which should help in reducing build times for subsequent builds.azure-pipelines.yml (10)
417-417
: LGTM! SettingCCACHE_DIR
for STM32 targets.The
CCACHE_DIR
variable is correctly set to improve build performance by caching compilation results.
426-426
: LGTM! Addingccache
download template for STM32 targets.The template to download
ccache
is correctly added, which will help in caching compilation results and improving build performance.
568-568
: LGTM! Enablingccache
for ESP32 targets.The
IDF_CCACHE_ENABLE
variable is correctly set to "1", enablingccache
for ESP32 targets to improve build performance.
569-569
: LGTM! SettingCCACHE_DIR
for ESP32 targets.The
CCACHE_DIR
variable is correctly set to improve build performance by caching compilation results.
652-652
: LGTM! SettingCCACHE_DIR
for FreeRTOS targets.The
CCACHE_DIR
variable is correctly set to improve build performance by caching compilation results.
660-660
: LGTM! Addingccache
download template for FreeRTOS targets.The template to download
ccache
is correctly added, which will help in caching compilation results and improving build performance.
732-732
: LGTM! SettingCCACHE_DIR
for TI SimpleLink targets.The
CCACHE_DIR
variable is correctly set to improve build performance by caching compilation results.
739-739
: LGTM! Addingccache
download template for TI SimpleLink targets.The template to download
ccache
is correctly added, which will help in caching compilation results and improving build performance.
805-805
: LGTM! SettingCCACHE_DIR
for Azure RTOS targets.The
CCACHE_DIR
variable is correctly set to improve build performance by caching compilation results.
814-814
: LGTM! Addingccache
download template for Azure RTOS targets.The template to download
ccache
is correctly added, which will help in caching compilation results and improving build performance.
- Add ccache to all platforms. - Adjust AZDO pipeline yamls. - Add PS1 to install install ccache.
2430ce5
to
a17508e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (9)
- .gitignore (1 hunks)
- azure-pipelines-nightly.yml (5 hunks)
- azure-pipelines-templates/build-azurertos-targets.yml (1 hunks)
- azure-pipelines-templates/build-chibios-stm32-targets.yml (1 hunks)
- azure-pipelines-templates/build-espressif-esp32-targets.yml (2 hunks)
- azure-pipelines-templates/build-freertos-nxp-targets.yml (2 hunks)
- azure-pipelines-templates/build-ti-simplelink-targets.yml (2 hunks)
- azure-pipelines-templates/download-ccache.yml (1 hunks)
- azure-pipelines.yml (7 hunks)
Files skipped from review as they are similar to previous changes (7)
- .gitignore
- azure-pipelines-templates/build-azurertos-targets.yml
- azure-pipelines-templates/build-chibios-stm32-targets.yml
- azure-pipelines-templates/build-espressif-esp32-targets.yml
- azure-pipelines-templates/build-freertos-nxp-targets.yml
- azure-pipelines-templates/build-ti-simplelink-targets.yml
- azure-pipelines.yml
Additional context used
yamllint
azure-pipelines-templates/download-ccache.yml
[error] 1-1: wrong new line character: expected \n
(new-lines)
Additional comments not posted (10)
azure-pipelines-templates/download-ccache.yml (4)
4-10
: LGTM! Caching step is correctly configured.The
Cache@2
task is properly set up to cacheccache
using the specified key and path.
12-22
: LGTM! Download step is correctly configured.The
PowerShell@2
task is properly set up to downloadccache
if it is not restored from the cache. The script handles errors witherrorActionPreference: "stop"
andfailOnStderr: true
.
24-29
: LGTM! Extraction step is correctly configured.The
ExtractFiles@1
task is properly set up to extract the downloadedccache
zip file to the specified destination folder.
31-33
: LGTM! PATH addition step is correctly configured.The script correctly adds
ccache
to the PATH if the previous steps succeed.azure-pipelines-nightly.yml (6)
299-299
: LGTM!CCACHE_DIR
variable is correctly defined.The
CCACHE_DIR
variable is properly set up to specify the directory forccache
storage for STM32 targets.
308-308
: LGTM!download-ccache.yml
template is correctly integrated.The
download-ccache.yml
template is properly integrated to download and installccache
for STM32 targets.
551-552
: LGTM!IDF_CCACHE_ENABLE
andCCACHE_DIR
variables are correctly defined.The
IDF_CCACHE_ENABLE
variable is properly set up to enableccache
and theCCACHE_DIR
variable specifies the directory forccache
storage for ESP32 targets.
636-636
: LGTM!download-ccache.yml
template is correctly integrated.The
download-ccache.yml
template is properly integrated to download and installccache
for ESP32 targets.
636-636
: LGTM!download-ccache.yml
template is correctly integrated.The
download-ccache.yml
template is properly integrated to download and installccache
for TI SimpleLink targets.
690-690
: LGTM!download-ccache.yml
template is correctly integrated.The
download-ccache.yml
template is properly integrated to download and installccache
for Azure RTOS targets.
288fd6f
to
c6dee33
Compare
f1c86c5
to
449142a
Compare
Description
Motivation and Context
How Has This Been Tested?
Screenshots
Types of changes
Checklist
Summary by CodeRabbit
New Features
ccache
files, optimizing build performance.Bug Fixes
Documentation