Page MenuHomePhabricator

Decide what to do with the android-build machine
Closed, ResolvedPublic

Description

Is currently unreachable due to being an unupdated self hosted puppetmaster (my fault, that one!), so we can't touch it at all. The services running on it currently still work, so there is some time to fix these but not too much.

Decide if the CI setup you guys have i enough or if this needs to be set up again

Event Timeline

yuvipanda raised the priority of this task from to Needs Triage.
yuvipanda updated the task description. (Show Details)
yuvipanda added projects: Mobile, Cloud-Services.
yuvipanda subscribed.

For now we still need this setup for our alpha users.
T99115 could be a replacement for this but I don't know when we get that.

Am rebuilding this on the android-builder machine, currently stuck at:

* What went wrong:
Execution failed for task ':wikipedia:proguardAlphaRelease'.
> java.io.FileNotFoundException: /root/.android-sdk/tools/proguard/proguard-android.txt (No such file or directory)

Could be related to https://code.google.com/p/android/issues/detail?id=72419?

This is just using ./gradelw build and expecting that to setup the android sdk as well.

@yuvipanda Have you run the Android SDK install script? Maybe it is needed to install it by hand the first time? How do Android devs get access to this machine?

Maybe this issue in SDK Manager Plugin claimed fixed in master but not yet released? https://github.com/JakeWharton/sdk-manager-plugin/issues/57

Yup that looks like it.

You can ssh in to android-builder.eqiad.wmflabs

I don't think I have the permissions required to ssh in. I believe we could work around this issue by manually installing the SDK but I'll leave to @bearND to decide on whether this is high priority enough to spend the time.

bearND set Security to None.

Since the old build machine has not produced any new builds since the end of last month. I'm considering this high priority. I'm able to ssh into that machine so I'll take a look around.

I've set up an build user for it, cloned https://gerrit.wikimedia.org/r/labs/tools/wikipedia-android-builds to /srv/builds.
Then I ran the download and update SDK script from its bin folder, and finally I ran a src/build.py.
That worked.

@yuvipanda Just two problems/questions left:

  • Do you still have access to the old setups build user home dir? Would you be able to transfer $HOME/.android/debug.keystore to the new machine, let's say directly in the home dir for now?
  • How do we switch the new instance to take the place of the old one? Turn off the old one then change the hostname of the new one?

Hey @yuvipanda. I've got the debug.keystore from you, and built the apk manually.

My last question from my previous comment still remains: How do we switch over to the new machine?
I also have a few more:
The crontab doesn't kick off or at least finish successful builds. I took the one that was in /srv/builds/crontabs.txt and modified the path to use /srv/builds/src/build.py, see git diff.
In the diff you'll also see that I had to add the $HOME variable to make the manual build work. I guess there could be something that needs to be done for the build user account.

Then I think the (hopefully) last part would be to enable the light-httpd service and provide access to my Android dev colleagues.
Thanks!

Anyone should be able to add them to the 'mobile' project on wikitech to give them access :)

And yes, nginx should be able to serve the files very easily and then we can switch the proxy.

@yuvipanda I still don't know what to do.

Should I figure out how to add the new android-builder instance to tools?
Is that by using the link "Create New Tool" from https://tools.wmflabs.org/?
It asked me for a service group. So I entered "mobile" for the service group name. And then? I don't know how to proceed. I hope that didn't mess things up further.

ah, no. tools has nothing to do with labs (see wikitech.wikimedia.org/wiki/Labs_labs_labs). You can use wikitech.wikimedia.org/wiki/Special:NovaProject to add people to the project.

If you can get the cron running properly (making the appropriate commits) and producing builds, I can set up nginx / proxy afterwards.

@yuvipanda
Thanks. Had to get rid of the jsub command and its special options since I guess those commands are for tool labs only.
The cronjob is working now and producing builds in /srv/builds/public_html/runs/latest.

Would you mind setting up nginx/proxy?

I've added @Dbrant. Where do the other two devs sign up to get onto that list? (Labs User:Niedzielski + holloway)

Done! http://android-builds.wmflabs.org/ Can you verify this works and then we can close the ticket?