-
Notifications
You must be signed in to change notification settings - Fork 93
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
AppVeyor integration #89
Conversation
great! why are we not running ctest? If that doesn't work, it can be done via
Not sure if you need the version number really in there. See https://github.com/UCL/PETPVC/blob/master/appveyor.yml. @bathomas, can you advise? |
Build number: you are right, probably we do not need it. Test: good point, I try to fix the test. (ctest: I am not quite sure about the invocation of ctest in windows, so I don't promise anything.) |
By the way, if we change the README.txt to README.md, then it will be processed as a markdown file, and we could include links and badges, e.g. to the CI/code coverage sites. What do you think? |
Sure. Feel free to change to .md. Otherwise I’ll do this later.
From: David Volgyes [mailto:notifications@github.com]
Sent: 17 August 2017 09:17
To: UCL/STIR <STIR@noreply.github.com>
Cc: Thielemans, Kris <k.thielemans@ucl.ac.uk>; Comment <comment@noreply.github.com>
Subject: Re: [UCL/STIR] AppVeyor integration (#89)
By the way, if we change the README.txt to README.md, then it will be processed as a markdown file, and we could include links and badges, e.g. to the CI/code coverage sites. What do you think?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#89 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AGEUHZBjLfWNCB4sQqtbM0QdFjKKLD5Wks5sY_cPgaJpZM4O4tx->.
|
Let's try it. AppVeyor is slow (around 30 mins, but in a few hours we will see both msbuild and ctest results.) (Travis will obviously pass, there is no change there.) By the way, in a separate pull request, we could try integrate Coveralls.io, which tracks code coverage (which source lines are tested by the different tests). It is callable from Travis, and it generates code coverage reports, like this: |
It took a while, but I think the current version should work nicely. So if this https://ci.appveyor.com/project/dvolgyes/stir/history |
Apparently, Travis cannot keep the pace, so I think all but the last build should be stopped. (Otherwise it will test unnecessary commits for one more day.) |
Somehow the OSX builds on Travis are failing, but it should not. |
All looks good, except the changes to CMakeLists.txt. I've added comments there. Do you really need some of those changes for the Appveyor build? I don't need it on Windows for sure... If we don't need them, I'd rather have them in a separate PR and revert CMakeLists.txt here. |
Hi Daivid, let's not muddle the waters with more travis changes. Let me know when this is ready. @bathomas can you have a quick look at the Appveyor.yml? |
Looks good to me! Only one thing you might want to consider is whether you want to build every commit. Maybe only tags or perhaps |
travis is now failing with ROOT on MacOS:
I suggest we revert .travis.yml and open a different PR for this |
@bathomas, we currently run travis at every commit as well. not sure how to do this otherwise without taking up a lot of my time :-; |
AppVeyor: Travis: Maybe we should define somewhere what is the recommended version of BOOST, ROOT, CMake, gcc, clang, etc. Anyway: if we revert travis, it will fail for macos. Actually, if you re-run any previous successful build, it will fail because of the ROOT update in homebrew. |
About the per-commit build: I would support the current setup. Yes, in some cases, like the last PR, it might need around a dozen build. But most of the time it catches the bugs early, and it is easier to fix immediately. (And if there is no bug, then it will be just tested one. I had a lot of builds because the PR was imperfect.) There are several months, sometimes even years between full releases. Tags could be produced, release candidates, etc., but I don't really see the point. Travis/AppVeyor are free, and if time is a constraint, then any build can be stopped, so the queue could be sped up. Long story short: I support the per-commit builds. |
I removed the Travis changes. Due to the OSX package changes, this will cause some Travis builds to fail. Ignore it, please, and let's fix it in another PR. |
Thanks David! |
Hi,
Badges:
So if there is a bugfix in the master which is backported, then the stable branches will change, and AppVeyor will test them. (The same is true for Travis too, but at this moment this isn't really an issue.) Settings in general: I think we can close this PR when you commit the README.md update. (You are the only one who can actually access the badge, so it must be you.) In another PR, we can try to fix OSX builds with ROOT which is broken at this moment. |
Thanks David. As I had merged the PR already, I've commited the change to README.md directly on master. All done now. |
AppVeyor is a continuous integration platform, similar to Travis CI but it runs on Windows platforms.
This pull request adds configuration file to STIR.
The workflow for the integration:
At this moment the windows tests seem to be outdated compared to the linux tests.
So theoretically the scripts are called, but this part should be refined later.
However, the compilation part should work and it should detect build errors.
Current compilers: Visual Studio 2013 and 2015 with 32bit and 64bit support, but this list could be extended with a lot of other compilers (VS 2017, gcc, clang, etc.)
For the complete feature set, see the AppVeyor documentation:
https://www.appveyor.com/docs/
One strange feature of the AppVeyor builds: the version number should be set in the config file, at this moment I set 3.1, so the builds will be 3.1.1, 3.1.2 and so on.