New CI is yours :)

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

New CI is yours :)

Post by openBrain »

Developers and maintainers,

Finally thanks to @wmayer and @vm4dim the new CI is 100% running.
It brings quite some improvements compared to former one, and I still have a bunch of other ones that I wrote down and that I'll probably implement in the coming weeks.
Also I'll try to keep an eye on current workflow runs to check everything is OK.

But beyond checking what is pushed or PRed to FreeCAD, it also aims at being useful to you.
Especially the summary report should make you able to easily catch failures or risks.

So, if you think about any improvement to CI, feel free to write it here or open a ticket to GH (and ping me in).

To contributors : you may have found that new CI is also running workflow when you push to your own fork. I think it doesn't harm, but if most of you don't want this, I can add a filter so it only runs in the official repo.

To any : a big step is to add build and test for Windows. I have a job able to do this, but I was unable to have correct caching on it. If anyone want to give a hand, please tell. (MacOS may be the one after).
User avatar
chennes
Veteran
Posts: 3884
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: New CI is yours :)

Post by chennes »

Excellent work on this CI system, the setup is very clean. In the Windows build what compiler is it using?
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: New CI is yours :)

Post by openBrain »

chennes wrote: Fri Feb 03, 2023 5:06 pm In the Windows build what compiler is it using?
I should say I have no clue about this. I just ran "msbuild" on the vcxproj file and it worked. :)
User avatar
chennes
Veteran
Posts: 3884
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: New CI is yours :)

Post by chennes »

That answers my question: I wanted to know if you were running in MSYS, or “real” Windows. I have no idea how to do any caching in Microsoft’s compiler, the last time I looked at it it was an expensive addon.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: New CI is yours :)

Post by wmayer »

Many thanks for your hard work.
So, if you think about any improvement to CI, feel free to write it here or open a ticket to GH (and ping me in).
Currently when the spell checker finds a typo a build is marked as failed but in fact it very often isn't a real typo but an identifier in C++ or Python. So, I wonder if it wouldn't be better to just report the found typos but do not mark the build as failed.
User avatar
saso
Veteran
Posts: 1920
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: New CI is yours :)

Post by saso »

We had a working win build in the past with appveyor, including caching, there is still the yml file in the repo https://github.com/FreeCAD/FreeCAD/blob ... pveyor.yml and there should probably be some topics about it here in the forum and I have some old test branches https://github.com/sasobadovinac/FreeCA ... yor_vs2015 but I don't remember much of it anymore :roll:

As for the new CI, I would maybe suggest to check if we can add OpenSSF Scorecard as suggested here viewtopic.php?t=74815 and I will try to play a bit with CodeQL and ClusterFuzzLite in the next days / weeks, if someone is interested to collaborate on trying to make them work...
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: New CI is yours :)

Post by openBrain »

wmayer wrote: Fri Feb 03, 2023 5:59 pm Currently when the spell checker finds a typo a build is marked as failed but in fact it very often isn't a real typo but an identifier in C++ or Python. So, I wonder if it wouldn't be better to just report the found typos but do not mark the build as failed.
The problem is that there is no way to mark a job as "passed with warning".
What I can do is to silence the spell checker failing. So the job will be marked as passed, but still the report will show there was a problem detected.
Is this OK ?
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: New CI is yours :)

Post by wmayer »

Yes, that would be fine. Thanks!
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: New CI is yours :)

Post by openBrain »

Hi all,

I'm preparing a new bunch of improvements for CI (it's currently in a PR).
Most noticeable one there is that test steps are reporting "uncaught tracebacks".
While developing the CI, I saw that there were tracebacks printed that didn't made a test to fail. This is a problem because it is either a problem in the test, or a problem in the code that isn't caught by the test.

As it doesn't prevent the test to success, the step will still report with a green check, but if uncaught tracebacks have been found, a "fire" icon will appear at the end of the step title, making it easy to catch (when you know, but now you do).
Here is an example how it looks :
uncaught_tb.png
uncaught_tb.png (27.59 KiB) Viewed 492 times
User avatar
chennes
Veteran
Posts: 3884
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: New CI is yours :)

Post by chennes »

Cool, thanks for the "fire" icon. I like it :) .
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
Post Reply