-
Notifications
You must be signed in to change notification settings - Fork 493
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
[RFC]: Continuous Integration Design #552
Comments
What we still have to implement :
|
@Luni-4 I have 2 points to consider:
|
|
Besides, should I close this PR #797 , so to implement this RFC in a new PR ? |
Perhaps we can transform each bullet point into a PR, in this way it would be simpler to review. What do you think? |
Yep, the |
Sounds good to me. |
Thanks to @gonzalesMK, @dcvz, and @syl20bnr this issue can be closed! Congrats to everyone for your work and help! |
This issue is an extension of #428 and it is an RFC to verify if there is a consensus with this new design
Feature description
A new design for continuous integration might be the following one:
std
tests onLinux
std
tests onMacOs
(@dcvz)std
tests onWindows
(@syl20bnr)no-std
testsLet's try to tackle each point one-by-one
(1) Some
GitHub
actions allow to visualizeclippy
lints and bad formatting as messages in a PR or in a report. This approach reduces the time spent in detecting these problems because they are immediately viewable. A contributor, especially a new one, does not have to scrape through CI logs in order to find them. This job could run only on a Linux operating system. Running this job on more operating system could be a waste of resources.(2, 3, 4) Run all current checks and tests on the specific operating system using a script. The
run-checks.sh
script could be rewritten inRust
language in order to be cross-platform and less error-prone. Collect code coverage data through Rust source code coverage and then aggregate the results using grcov, finally publish this data on codecov in order to immediately visualize which lines of code are not covered by tests. (thanks to @gonzalesMK for the help)(5) Maintain the same checks which are already performed. Even this job will benefit from
run-checks.sh
rewriting inRust
.Feature motivation
Having a Continuous Integration that implements the points described above, in my opinion, reduces the effort in code maintainability, making the development more interesting, also decreases the possibility to have problems in the future.
The text was updated successfully, but these errors were encountered: