Comments (4)
If the project can be configured with cmake and tests run using ctest, then all should be fine from the point of view of actually performing builds and running tests, so cuda/fortran themselves should not cause any issues beyond the usual pain of getting the builds to work.
Problem 1 will be that if the compute nodes cannot drop an http request onto a cdash server, then you won't get them on a dashboard. This could be fixed, but it would require an extra scrape function. (If you are not using cdash, then I'm not sure how to get the results to a different CI front end).
Pycicle periodically checks the build dirs for the build/test result summaries and uses them to set the build status on github, so that a branch can be marked as good/bad. What we'd need to do is add an extra step to retrieve the xml files generated by ctest and then submit them to a dashboard from the machine running the pycicle 'front end'. This would be an afternoon's work hopefully - should be easy to do, but I've not tried it yet.
Problem 2 is that if you are using gitlab, the pygithub module used by pycicle won't do the right thing. I've not looked to see if there's a drop in replacement that could be used for gitlab instead of github.
([pause], https://github.com/python-gitlab/python-gitlab looks like it could be used).
We only make a half-dozen or so actual calls to pygithub, so it might be that converting to gitlab is quite doable, but I'm not sure until someone tries it.
"Do you think this kind of project is within reach of the pycicle (or at least pycicle can be easily expanded to cover it)?"
I'd say probably yes, the development of pycicle backbone was done mostly over a weekend and has been improved over the last month or so (and I'm not a python programmer). If you are prepared to put in a few days of work (and I will happily help where I can), then it should be doable.
I decided to create pycicle initially because I estimated it'd be quicker to implement something like this, than to get familiar with other CI tools and set them up (accounts/permissions/etc). If you think the same, then I'd say, give it a try.
from pycicle.
I forgot to address the questions of
git submodules : They should not be too much of a problem, the update step is a little complicated at the moment, because I wanted cdash to display the changed files. with submodules, we'd probably need to tweak the update slightly to get things right, and cdash might not show all changed files in subdirs.
Torque: Since all pycicle does is wrap stuff into scripts and then launch them, I would imagine that replacing the slum wrapper generation with torque should be straightforward.
Quite a few new command line options are going to be needed to address all your needs!
from pycicle.
Thank you very much for the info!
from pycicle.
Thank you very much for the info!
from pycicle.
Related Issues (16)
- Status for build/test being set during config
- Add build options as configuration choices HOT 1
- Allow setting combinations of build options HOT 6
- Store per-project pycicle settings in the project being tested HOT 4
- Token as a command line option doesn't work HOT 2
- Old build/src dirs are not cleaned up HOT 1
- PRs from remote repositories are not handled correctly
- CI should be running hpx CI with new pycicle HOT 2
- Base branch for PR should handle any value HOT 4
- PYCICLE_GITHUB_WHATEVER vs PCYCILE_WHATEVER design
- Be careful with unicode raw strings
- slurm job output goes into user's $HOME dir
- Need a flag to disable github status setting
- Clean binary dir before builds
- Make Pycicle work for any Project HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pycicle.