Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Windows build slave #594
Windows build slave #594
Comments
|
I would even say in another repository. |
|
I'm not sure a Wiki is the best way to discuss an API, so here goes: Please make the interface as simple as it gets. A constant URL like
should be all we need. It can simply block until the file is finished building and throw a 500 on error. I'm not opposed to additional functionality like server logs, and would quite like automatic building upon revision push and/or caching, but those are nice-to-haves. |
|
Still valid as well. @phihag why the 'arch' and 'python' arguments ? I think that the repo name on GitHub and the revision are the only things we need right now. The repo name allows all clones to benefit from the system. Automating building upon pushing is Travis's responsibility IMO. |
|
@fraca7 Well, we could want to build an arm/x64 version, and build youtube-dl with various Python versions. But I'm of course willing to have those values as constants (since at the start, we most likely can only build with Python 2.7 on x86) for the time being. The repo name being in there is fine as well. |
|
Okay, the script is fully operational. Example usage: Available Python versions are 2.6 and 2.7 (default 2.7). Python 3.3 is installed but there doesn't seem to be a version of py2exe for it, so it won't work. I didn't include an "arch" argument for now because since it's an XP slave there's only x86 available :) Pretty easy to add though. I gave up the Transfer-Encoding: chunked stuff because I wanted to give a 500 response if the build went wrong so it's easier to tell from a script. Also, since this allows arbitrary code execution (launches setup.py), there's a list of authorized users; currently fraca7, phihag, rg3 and PhiloSottile. General syntax for building: http://jeromelaheurte.net:8142/build/username/reponame/path?python=pythonversion&rev=revision And for downloading an already built file: http://jeromelaheurte.net:8142/download/username/reponame/path?rev=revision The script is at https://github.com/fraca7/youtube-dl/blob/master/devscripts/buildserve.py; feeback is welcome. |
|
@fraca7 Excellent. I added a couple of comments. Are you releasing that script under Public Domain (or equivalent, if your country doesn't have PD)? If so, I'd love to incorporate it into mainline youtube-dl with some changes. |
|
Le 27 déc. 2012 à 06:45, Philipp Hagemeister notifications@github.com a écrit :
Cheers |
|
Ok, thanks a lot, we are now actively using it in our |
|
Le 3 janv. 2013 à 00:05, Filippo Valsorda notifications@github.com a écrit :
Cheers |
|
@fraca7 Thank you very much for providing the build server! At the moment, I can't reach the server though :( |
|
Le 27 janv. 2013 à 03:06, Philipp Hagemeister notifications@github.com a écrit :
DHCP issue… Should be fixed, and the VM has a static IP now so it shouldn't happen again. Cheers |
|
Nope, still not working. Just a sec. |
|
OK, looks like my router was having a bad time. Works for me now. |
|
@fraca7 Excellent, thanks! |
|
The slave won't be available for a few hours (days ?). Hard disk failure. And I doubt I can find something open to buy a new one today... |
|
And it's back. |
|
Thanks, finished the release. |
|
@fraca7 I can't reach the server at the moment; is the IP 82.224.90.99 correct? |
We need a simple way to build the version tags to exe with py2exe.
I like the API concept proposed here by @fraca7: https://github.com/FiloSottile/youtube-dl/wiki/New-building-system-blueprint/_compare/9920e87%5E...9920e87
Both @gcmalloc and @fraca7 have offered a Win machine, I open this discussion to speak about it and build it (maybe in a branch, like build-server).
Let me know if your offers are still valid and if they are not too much trouble.
Only Python and Py2exe needed. And a server-side web scripting to implement the API.