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

CI for OSX, FreeBSD, Windows and RaspberryPi #84

Closed
meeh420 opened this issue Jul 15, 2014 · 44 comments
Closed

CI for OSX, FreeBSD, Windows and RaspberryPi #84

meeh420 opened this issue Jul 15, 2014 · 44 comments

Comments

@meeh420
Copy link
Contributor

meeh420 commented Jul 15, 2014

I've found out I can setup CI for all systems above, including ofc. Linux too if needed. What do you think of that? We would probably need to move the i2pd project into the I2P org. or create a new one for that sake, since I will need access to the git triggers on this repository AFAIK. Maybe github got a API that removes the need of that, I can check it out if you sounds like a good idea to setup CI for all systems. (I got the servers needed)

@meeh420
Copy link
Contributor Author

meeh420 commented Jul 15, 2014

sidenote; I can get a RBPI from my workplace for this usage :) in case not I got a leftover for testing anyway.

@orignal
Copy link
Contributor

orignal commented Jul 15, 2014

Honesly, I don't know what you are talking about.

@meeh420
Copy link
Contributor Author

meeh420 commented Jul 15, 2014

CI, http://en.wikipedia.org/wiki/Continuous_integration

Like travis. I'm suggesting to setup auto build on all systems on each commit/pull-request.

@meeh420
Copy link
Contributor Author

meeh420 commented Jul 15, 2014

Seems like travis's OSX build is broken too. Can't see it starts building even I followed the steps from the travis webpage.

Having CI on all systems would give us a heads up if we break any system on our commits.

@orignal
Copy link
Contributor

orignal commented Jul 15, 2014

So what do you want from me?

@meeh420
Copy link
Contributor Author

meeh420 commented Jul 15, 2014

Well, if you don't want to manage all the triggers and update when I need testing etc, I need access too them.. And that might require that we move the repo to an organization. I will try find out!

@orignal
Copy link
Contributor

orignal commented Jul 15, 2014

Moving repository is not an option, I will continue commiting here.
Why can't you write a scripts making clones to wherever you wish?

@meeh420
Copy link
Contributor Author

meeh420 commented Jul 15, 2014

Pull requests won't be noticed and build then, that's the only issue with that solution. But I can test on a clone and give you right setup dor this repo when it works and you apply it?

@orignal
Copy link
Contributor

orignal commented Jul 15, 2014

I though you have all necessary rights.

@mikalv
Copy link
Contributor

mikalv commented Jul 15, 2014

Only to commit. Not the administrative where this is afaik. Out traveling. Will check if github api allows me access later.

@meeh420
Copy link
Contributor Author

meeh420 commented Jul 15, 2014

It would be a url ala https://github.com/orignal/i2pd/settings/hooks that I'm missing access to.

@orignal
Copy link
Contributor

orignal commented Jul 15, 2014

How can I grant it?

@meeh420
Copy link
Contributor Author

meeh420 commented Jul 15, 2014

I haven't found a way to do it yet without creating an org. If you move it to a org. you can still be the "owner" role, which is higher granted than a "admin" role you can give me. But still, I'm having access to the hooks AFAIK. The part about owner is something I know from having a org. myself.

@mikalv
Copy link
Contributor

mikalv commented Jul 19, 2014

Can I mail you a setup for the "Add webhook" setting, and you set it up? Would like to keep that information private for now.

@mikalv
Copy link
Contributor

mikalv commented Jul 19, 2014

also if you want please add this account to the commit allowment as well (as you did with meeh420). Makes it easier for me to commit from my dayjob Mac when doing OSX changes.

@orignal
Copy link
Contributor

orignal commented Jul 19, 2014

added

@orignal
Copy link
Contributor

orignal commented Jul 19, 2014

Let's set these setting Monday

@mikalv
Copy link
Contributor

mikalv commented Jul 19, 2014

Thanks. Ok, we'll take it Monday :)

@mikalv
Copy link
Contributor

mikalv commented Jul 21, 2014

Copyleft Solutions ( http://www.copyleftsolutions.com/ ) has donated a RaspberryPi to the CI case. Including hosting when it's up, meanwhile I host it :)

@orignal
Copy link
Contributor

orignal commented Jul 21, 2014

Can we get an access to it?

@mikalv
Copy link
Contributor

mikalv commented Jul 21, 2014

of course. I will get down to the office a day this week and pick it up if we have more on the office, which I'm sure we got. I was thinking of setting it up against Jenkins. But do you want other access as well? (e.x ssh?)

@orignal
Copy link
Contributor

orignal commented Jul 21, 2014

Yes, it would be nice to see how it's working 24/7 there

@mikalv
Copy link
Contributor

mikalv commented Jul 21, 2014

Where could we speak private? (For pasword info etc.) Is it possible for you to be for example signed into a IRC server that you check once in a while? E.x tmux + irssi from a terminal is a great setup (you can disconnect and reattach session where you left). If you miss a server for that, I can provide you a shell for this. I also got a SSL IRC server we can use so you don't need to rely on I2P. We could create a #i2pd channel on I2Irc or my server for example.

Would be great to could give you messages & questions etc that don't need github issues. (Waiting for you to show up on freenode has been kind of uneffective hehe :P )

@orignal
Copy link
Contributor

orignal commented Jul 21, 2014

You can send e-mail if you need something.

@mikalv
Copy link
Contributor

mikalv commented Jul 21, 2014

I will pickup the RBPI now, I'll send you the details later today.

@mikalv
Copy link
Contributor

mikalv commented Jul 21, 2014

Please send your SSH key to meeh at sigterm dot no

@mikalv
Copy link
Contributor

mikalv commented Jul 21, 2014

RBPI Picked up. Installing debian now.

@mikalv
Copy link
Contributor

mikalv commented Jul 21, 2014

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

Setup complete, read mail & join IRC for details :)

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

First build built in /usr/src/i2pd, from commit f3c6dd4

After the building I think we use a remote crosscompiler and move the binary to the RBPI via SSH or something for testing wrt CI. This was time consuming..

@orignal
Copy link
Contributor

orignal commented Jul 22, 2014

Yes, you should. But you have to install proper toolchain

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

Yepp, gonna setup Jenkins on a external linux server at the datacenter, and add a Jenkins node for the Win32 build at home where I got VS2013. And since Jenkins is to heavy to run properly on RBPI, especially if we're doing testing on running i2pd instances on it as well, I will make one of the Jenkins instances to build i2pd, and then move it to the RBPI via for example SSH for a validation of the binary of some kind. Maybe even execution for a small amount of time.

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

Btw, have you checked out the RBPI more after yesterday? Any needs? Questions before using it for testing? Feel free to request if you need anything :)

@orignal
Copy link
Contributor

orignal commented Jul 22, 2014

Seems fine

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

i2pd will be running from now on. I launched it.

If you want to check on it;

sudo -i
su - i2p
tmux a

(i2pd is running under tmux which is more or less a much better version of the "screen" application)
Short intro; Ctrl+b, D to detach, Ctrl+b, C to create new console. And you can use Alt(Mod)+ , or . to fast switch between consoles. I use the B prefix instead of A since A is used in bash. Ctrl+b, ? will give you a list of all hotkeys for tmux. tmux a is a short version of tmux attach, which will attach to the last session.

Other things worth mentioning; ntop, htop and tcpdump is installed for debugging and monitoring.

@orignal
Copy link
Contributor

orignal commented Jul 22, 2014

You should run it in daemon mode
./i2p -daemon=1
It writes to log file only.

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

Ok, I'll restart it.

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

Done. tmux now only tails&follow the debug log and monitoring system information. :)

@mikalv
Copy link
Contributor

mikalv commented Jul 22, 2014

tmux 👍

i2pd-rbpi

@mikalv mikalv added this to the first real usable version milestone Jul 22, 2014
@mikalv
Copy link
Contributor

mikalv commented Jul 24, 2014

Jenkins server is setup, with Windows slave for win32 builds. Do you got time for testing github hooks? (Those settings I don't have access to)

@orignal
Copy link
Contributor

orignal commented Jul 24, 2014

I have some time today. Tell what to do.

@mikalv
Copy link
Contributor

mikalv commented Jul 24, 2014

Awesome, I guess you don't want guess & trials so I'm trying to find the best way. seems it's many ways to connect. Maybe the service with the jenkins option is the right one.

Anyway, please read mail! :)

@mikalv
Copy link
Contributor

mikalv commented Jul 24, 2014

This might actually work. I'll send you a webhook url on mail. https://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin

@meeh420 meeh420 removed their assignment Jul 24, 2014
@meeh420
Copy link
Contributor Author

meeh420 commented Aug 16, 2014

Issues moved to https://track.privacysolutions.no

@meeh420 meeh420 closed this as completed Aug 16, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants