-
Notifications
You must be signed in to change notification settings - Fork 3k
make target list for applications in examples_cmake.json consistent with examples.json #14507
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
Conversation
@saheerb, thank you for your changes. |
Is there any example that is not building - how can we get this alignment ? CAn we run a job and create issues for failures to clear this? |
There is a nightly cmake job running against, "all supported example application" (as in uses examples.json), this sends a notification to tools team. Let's follow in internal slack channel, how the failures will be handled. |
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.
LGTM
CI started |
Jenkins CI Test : ❌ FAILEDBuild Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
"targets" : ["NUCLEO_F401RE"], | ||
"targets" : ["NUCLEO_F401RE", "DISCO_L475VG_IOT01A"], |
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.
We can't/shouldn't add DISCO_L475VG_IOT01A, because only NUCLEO_F401RE supports both NFC examples. The compilation failure with Mbed CLI 2 is expected behaviour, whereas Mbed CLI 1 lacks a compatibility check and always builds the NFC driver regardless, so it passes unexpectedly. See #14527.
We're in the process of fixing all examples. After it's done we should be able to use examples.json for both CLI 1 & 2. |
Pull request has been modified.
@LDong-Arm we don't have mbed-os-example-lorawan in mbed-cli2 in this build. |
@saheerb It is in |
Yea you are right.... I think I am losing it :-) Anyways, I will skip that target in this PR and add it back later. |
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.
How can we know if CI will pass with this set of examples_cmake.json
? We should verify this before we merge.
@@ -15,6 +15,38 @@ | |||
"baud_rate": 115200, | |||
"compare_log": ["mbed-os-example-for-aws/tests/aws.log"], | |||
"auto-update" : true | |||
}, |
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.
Could we delete cloud_examples_cmake.json
in this PR? CI can use cloud_examples.json
without running into failures, even for CMake.
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.
I thought about that. It's easier to update the cloud_examples_cmake.json for now as it involves no change in CI scripts. We can delete the examples_cmake.json and cloud_examples_cmake.json together?
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.
yes, we should. When can we do it?
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.
When we have all the examples passing in cmake. Now just one left, mbed-os-example-mesh-minimal
Jenkins CI Test : ❌ FAILEDBuild Number: 2 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
mbed-os-example-devicekey failed on DISCO_L475VG_IOT01A
The same binary downloaded from the CI build runs totally fine on my local board. A local build also runs fine... |
There was a new push, we need to restart CI anyway. |
Let's investigate first the error. That push should have nothing to do with the test error we see here.. |
@saheerb Now I can reproduce it with another board of mine. I guess the passing/failing might depend on if a preexisting is on the board's flash. Let me create an issue. |
Fix created: ARMmbed/mbed-os-example-devicekey#72 |
There are few differences in the way, cliv1 and cliv2 are built/tested in CI. examples built with CLI-v1 are not tested for PR. They are only tested in nightly. This apparently was done like this when we had failures in PR. Also, tests are not performed against every available targets in board types. This I think could be due to CI scripts not keeping up with the changes in examples.json So, to get this PR in which was created for the sake of avoiding regressions. I will disable the test on application which are not passing, and then will update CI scripts/get the other example applications tested with available boards etc. |
I aborted CI |
#72 is ready for review now. We can either wait for it to be merged, or skip the example in examples_cmake.json and add it back in the future, with other examples we fixed in the last few days. |
I have disabled the test running part for now. Let's add it back when ARMmbed/mbed-os-example-devicekey#72 is merged |
We can get that in if approved (if not, this PR can stay as it is ), so rather wait with this one to get all green? We can wait a hour with the code freeze as this would mean we get all examples green with CMake (🎉 ) |
Jenkins CI Test : ❌ FAILEDBuild Number: 3 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
No, then the purpose of the PR is lost. The goal of the PR is to update cmake_examples to currently passing to avoid regressions. What I understand is devicekey application was not stable enough to have in CI test. We didn't face the issue before as we were not testing in CMake and even in CLIv1 we were not testing in PR. Also, not all targets are currently tested(run in actual boards in RAAS). This must be updated in CI script, tested and made a PR. That can happen later. The earlier we get this PR in, we have less chances to have regression. |
Jenkins CI Test : ❌ FAILEDBuild Number: 4 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
Jenkins CI Test : ✔️ SUCCESSBuild Number: 5 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
Devicekey was fixed. @saheerb OK, so proposal is to get this in and do clean up of cmake/non-cmake testing examples afterwards. @LDong-Arm Please review |
@0xc0170 to be clear, these are our next steps:
|
I'm fine either way. As the team did lots of example fixes this week, I'm okay to have this PR in, and sometime in the next few days do a follow up PR to reenable everything. Eventually we won't need separate examples.json and examples_cmake.json. |
Thank you! I'll merge this now |
Summary of changes
Currently for some applications target list is not same for cmake builds and mbed-cli-v1 builds in CI. This was because initially cmake didn't build with all targets, now that we are trying to achieve parity target list should be same. Eventually, (when cmake builds with all the application in examples.json), there will only be example.json which will be used for building example.json and cmake_examples.json
Impact of changes
CMAKE builds in CI builds consistently with CLI1. No user impact.
Migration actions required
None
Documentation
None
Pull request type
Test results
Reviewers
@jamesbeyond