Skip to content
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

Windows build slave #594

Closed
FiloSottile opened this issue Dec 18, 2012 · 18 comments
Closed

Windows build slave #594

FiloSottile opened this issue Dec 18, 2012 · 18 comments
Labels

Comments

@FiloSottile
Copy link
Collaborator

@FiloSottile FiloSottile commented Dec 18, 2012

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.

@gcmalloc
Copy link
Contributor

@gcmalloc gcmalloc commented Dec 18, 2012

I would even say in another repository.
Yes, my offer is still valid, if you need a linux wm I could also bring one up.

@phihag
Copy link
Contributor

@phihag phihag commented Dec 19, 2012

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

build?arch=x86&python=2.7&revision=revision

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.

@fraca7
Copy link

@fraca7 fraca7 commented Dec 19, 2012

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.

@phihag
Copy link
Contributor

@phihag phihag commented Dec 19, 2012

@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.

@fraca7
Copy link

@fraca7 fraca7 commented Dec 23, 2012

Okay, the script is fully operational. Example usage:

http://jeromelaheurte.net:8142/build/fraca7/youtube-dl/youtube-dl.exe?python=2.6&rev=ba34a3b38e399053ccc929c079de8abde4b5d61e

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.

@phihag
Copy link
Contributor

@phihag phihag commented Dec 27, 2012

@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.

@fraca7
Copy link

@fraca7 fraca7 commented Dec 27, 2012

Le 27 déc. 2012 à 06:45, Philipp Hagemeister notifications@github.com a écrit :

@fraca7 Excellent. I added a couple of comments.

And I tried to address them :)

Are you releasing that script under Public Domain (or equivalent, if your country doesn't have PD)?

Yes, just added the "legal" stuff in the file.
If so, I'd love to incorporate it into mainline youtube-dl with some changes.

Go ahead.

Cheers
Jérôme

@FiloSottile
Copy link
Collaborator Author

@FiloSottile FiloSottile commented Jan 2, 2013

Ok, thanks a lot, we are now actively using it in our release.sh!

@FiloSottile FiloSottile closed this Jan 2, 2013
@fraca7
Copy link

@fraca7 fraca7 commented Jan 3, 2013

Le 3 janv. 2013 à 00:05, Filippo Valsorda notifications@github.com a écrit :

Ok, thanks a lot, we are now actively using it in our release.sh!

Nice :) Let me know if there are any problems.

Cheers
Jérôme

@phihag
Copy link
Contributor

@phihag phihag commented Jan 27, 2013

@fraca7 Thank you very much for providing the build server! At the moment, I can't reach the server though :(

@phihag phihag reopened this Jan 27, 2013
@fraca7
Copy link

@fraca7 fraca7 commented Jan 27, 2013

Le 27 janv. 2013 à 03:06, Philipp Hagemeister notifications@github.com a écrit :

@fraca7 Thank you very much for providing the build server! At the moment, I can't reach the server though :(

DHCP issue… Should be fixed, and the VM has a static IP now so it shouldn't happen again.

Cheers
Jérôme

@fraca7
Copy link

@fraca7 fraca7 commented Jan 27, 2013

Nope, still not working. Just a sec.

@fraca7
Copy link

@fraca7 fraca7 commented Jan 27, 2013

OK, looks like my router was having a bad time. Works for me now.

@phihag
Copy link
Contributor

@phihag phihag commented Jan 27, 2013

@fraca7 Excellent, thanks!

@phihag phihag closed this Jan 27, 2013
@fraca7
Copy link

@fraca7 fraca7 commented Apr 1, 2013

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...

@fraca7
Copy link

@fraca7 fraca7 commented Apr 6, 2013

And it's back.

@FiloSottile
Copy link
Collaborator Author

@FiloSottile FiloSottile commented Apr 6, 2013

Thanks, finished the release.

@phihag
Copy link
Contributor

@phihag phihag commented Aug 21, 2013

@fraca7 I can't reach the server at the moment; is the IP 82.224.90.99 correct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.