-
Notifications
You must be signed in to change notification settings - Fork 26
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
refactor(CI): ♻️ Replace existing CIs with one Quality Control CI #115
Conversation
…platformio.ini` This is the start of re-factoring continuous integration
…rmio.ini` This is the build environment for my Defect Detector
…it into `quality_control.yml` The existing badges for Arduino and PlatformIO are broken. These are already deprecated and will soon be replaced.
This automation performs static code analysis on CRSF for Arduino and will fail on medium and high defects
Ha! I got it to fail! =^/.^= For now, I will leave the medium and high severities disabled until I am ready to merge this Pull Request. |
…y checks These will be re-enabled in the _last_ commit _before_ #115 is merged
Something isn't right with this. =/)/.-=
…r to `build_on_compatible_targets` Let's see if it still wants to obliterate the other two jobs. =-/.-=
Awesome-sauce! =^/,..,^=
...that caused my previous Quality Control checks to simply not show up, let alone execute. Well, it has since been fixed in 👇 here.
However, at this stage, I might integrate the build check into my defect detector and have the execution happen afterwards. Because the whole point of the defect detector is to prevent CRSF for Arduino being built if the code-base has any known defects. So, I'll try that and see how I get on. |
…Defect Detector Let's see what goes 💥
Okay, cool. That little experiment worked. |
…etector It's better (in terms of quality-of-life) to have the build check operate in a job all of its own, rather than being integrated with the Defect Detector.
This ensures PlatformIO builds _every_ possible target CRSF for Arduino is compatible with, and is treated as passing in `pio run` in CLI.
Okay, slight change-of-mind here: For the time being, the build is performed on a handful of commonly used targets instead of every possible target. After this, I am creating another branch-and-pull-request combo where I enable the higher severity flags and actually fix the defects called out by my Defect Detector. |
Overview
This has acquired a bit of "feature creep" from when I first created the branch. Hence why the Pull Request name is slightly different from the branch name.
What I am doing here is, I am attempting to aggregate my existing continuous integrations into one.
Plus, discontinuing the existing Arduino CI, as this has been nothing but problematic for me for quite some time, now.