-
Notifications
You must be signed in to change notification settings - Fork 2
Update continuous integration system #10
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dependabot will periodically check the versions of all actions used in the repository's workflows. If any are found to be outdated, it will submit a pull request to update them. NOTE: Dependabot's PRs will sometimes try to pin to the patch version of the action (e.g., updating `uses: foo/bar@v1` to `uses: foo/[email protected]`). When the action author has provided a major version ref, use that instead (e.g., `uses: foo/bar@v2`). Dependabot will automatically close its PR once the workflow has been updated. More information: https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
On every push, pull request, and periodically, use the codespell-project/actions-codespell action to check for commonly misspelled words. In the event of a false positive, the problematic word should be added, in all lowercase, to the ignore-words-list field of ./.codespellrc. Regardless of the case of the word in the false positive, it must be in all lowercase in the ignore list. The ignore list is comma-separated with no spaces.
On every push, pull request, and periodically, run Arduino Lint to check for common problems not related to the project code.
…iguration The workflow is currently specially configured for having a "compile-examples.yml" file name. Although the configuration could easily be changed to use the previous name, using standardized file names for the workflows across all Arduino's repositories is beneficial.
The "Compile Examples" GitHub Actions workflow generates a matrix job for each board. The default job name is generated from the job's matrix object. This contains the complete board data, which results in a long and somewhat cryptic job name that can make the workflow run more difficult to interpret. The only necessary information is the FQBN. A custom job name allows for only using this information in the job name.
Previously, due to the lack of a release, the development versions of the sketch compilation actions were used. Using release versions provides a more stable CI system for the ArduinoCore-mbed project. Use of the major version ref will cause the workflow to benefit from ongoing development to the actions up until such time as a new major release of an action is made, at which time we would need to evaluate whether any changes to the workflow are required by the breaking change that triggered the major release before updating the major ref (e.g., uses: `arduino/compile-sketches@v2`).
The library.properties metadata file can have an impact on compilation, so the CI workflow should run when it's changed in order to assist in validation of those changes.
…le not found This event would indicate that the workflow was misconfigured. So it's a valuable notification.
…ompilation CI workflow As of the 2.0.0 release of the Arduino Mbed OS Boards platform, the platform has been split into three separate platforms, one for each class of boards. The platform for the Portenta boards is now arduino:mbed_portenta.
This will indicate the status of the most recent run of the workflow.
Some of the sketches are written to be compiled for the M7 core, some for the M4 core, and some for both. So the workflow must be configured to provide for this.
On creation or commit to a pull request, a report of the resulting change in memory usage of the examples will be commented to the PR thread.
aentinger
approved these changes
Apr 22, 2021
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 👍 Thank you @per1234 🚀
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR updates the CI system to the standardized GitHub Actions-based CI configuration for Arduino libraries.
Dependabot
Dependabot will periodically check the versions of all actions used in the repository's workflows. If any are found to be outdated, it will submit a pull request to update them.
NOTE: Dependabot's PRs will sometimes try to pin to the patch version of the action (e.g., updating
uses: foo/bar@v1
touses: foo/[email protected]
). When the action author has provided a major version ref, use that instead (e.g.,uses: foo/bar@v2
). Once the major version has been updated in the workflow, Dependabot should not submit an update PR again until the next major version bump. So even if the PRs from Dependabot are not always exactly correct, their value lies in bringing the maintainer's attention to the fact that the action version in use is outdated. Dependabot will automatically close its PR once the workflow has been updated.More information:
https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
Spell check
On every push, pull request, and periodically, use the
codespell-project/actions-codespell
action to check for commonly misspelled words.In the event of a false positive, the problematic word should be added, in all lowercase, to the
ignore-words-list
field of./.codespellrc
. Regardless of the case of the word in the false positive, it must be in all lowercase in the ignore list. The ignore list is comma-separated with no spaces.Arduino Lint
On every push, pull request, and periodically, run Arduino Lint to check for common problems not related to the project code.
Compile examples
On every push or pull request that affects library source or example files, and periodically, use the
arduino/compile-sketches
action to compile all example sketches for the specified boards.Report size deltas
On creation or commit to a pull request, use the
arduino/report-size-deltas
action to comment a report of the resulting change in memory usage of the examples to the PR thread.Fixes #8