rosenbrockc / ci Goto Github PK
View Code? Open in Web Editor NEWGeneric continuous integration server for interfacing with github and publishing results to a Media Wiki.
License: MIT License
Generic continuous integration server for interfacing with github and publishing results to a Media Wiki.
License: MIT License
The default (current) implementation only allows the unit tests to be run in parallel with the multiprocessing
module. However, the global settings allow for serial processing. It is implemented in the ci.py
script, but not in the pyci.server
module.
It would be useful to have the CI server be able to return the URL to a shield to post on the README page of a repo being monitored (like Travis and all of the others do). This is easy using:
https://img.shields.io/badge/Test%20Coverage-100-green.svg
We just need to have the latest scores written to JSON and then deserialized by the web page to return the URL with the appropriate fields replaced. Probably we would need to add one option to the config file that specifies the command to run on the repo's master to get the coverage etc. and the latest test scores.
The initial CI server is almost ready. However, I just realized that we need to discuss one more aspect. So far, I programmed the server to keep track of the output from stdout
when running each unit test. That output is kept in memory until the wiki page with the unit test details is created. My original idea was to upload the contents of stdout
for each test to a file on the wiki and then just link to it from the test results page.
That still seems like a viable possibility except that for some of the unit tests the output can be quite large. Do we place limitations on the size of the files we want to upload? If fortpy handles the unit testing, it provides summary information and will write out compilation errors or warnings and that output is usually small. But what about output from other programs? For example, the Wang Landau in UNCLE once produced a file that was 135GB!
Question: if the files are larger than 1MB, do we upload only part of them? If so, which part? If not, do we just say the file was too big? Do we remove it from the server then, or move it to some archive?
The script ci.py
has a switch for switching to verbose output mode. However, none of the functions coded so far support any level of verbosity. This is something that isn't critical at this point, but would be nice to have for debugging other user's installations (really, any respectable code has verbose output).
Hi @rosenbrockc
So this is a bit weird, but i am developing a python application and strangely enough, i called it Py-CI.
I noticed you are the owner of that project name on PyPi.
Is there any chance we can discuss about maybe giving the ownership for that project to me?
Much obliged.
๐
Although the repo settings allow for a timeout to be specified (after which any unit tests still running are forcible terminated), the pyci.server
module currently doesn't implement this except in analyzing the run times returned in the execution statistics. The process termination still needs to be implemented.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.