Closed Bug 917324 Opened 6 years ago Closed 2 years ago

Make running Android x86 jobs locally easy for a developer

Categories

(Testing :: General, defect)

x86
macOS
defect
Not set

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: armenzg, Assigned: gbrown)

References

Details

Right now, it is mainly focused for our automation to run it:
/tools/buildbot/bin/python scripts/scripts/androidx86_emulator_unittest.py --cfg android/androidx86.py --test-suite mochitest-1 --test-suite mochitest-2 --test-suite mochitest-4 --test-suite xpcshell --download-symbols ondemand

If we make it developer friendly, it will make people's lives easier.

On a releng machine we can run it manually like this:
/tools/buildbot/bin/python scripts/scripts/androidx86_emulator_unittest.py --cfg android/androidx86.py  --download-symbols ondemand --installer-url http://ftp.mozilla.org/pub/mozilla.org/mobile/tinderbox-builds/b2g-inbound-android-x86/1377882719/fennec-26.0a1.en-US.android-i386.apk --test-url  http://ftp.mozilla.org/pub/mozilla.org/mobile/tinderbox-builds/b2g-inbound-android-x86/1377882719/fennec-26.0a1.en-US.android-i386.tests.zip   --test-suite mochitest-2 --no-read-buildbot-config
Notice the usage of --installer-url, --test-url and --no-read-buildbot-config

We need to:
1.a) make publicly available the components that are behind VPN
1.b) our teach mozharness how to make them
2) a developer friendly config (e.g. do not call read-builbot-config)
3) make it runnable outside of a releng machine (e.g. /tools/buildbot/bin/python)

The list of components:
http://bm-remote.build.mozilla.org/tegra/tegra-host-utils.Linux.742597.zip
/home/cltbld/avds/test-x86.tar.gz
/tools/android-sdk18

gbrown, rail, Callek: could you please help me with 1.a or 1.b?

Once we take care of #1, this could be a contributor's project.
Blocks: 917361
No longer depends on: 891959
> gbrown, rail, Callek: could you please help me with 1.a or 1.b?

The list of components:
http://bm-remote.build.mozilla.org/tegra/tegra-host-utils.Linux.742597.zip
/home/cltbld/avds/test-x86.tar.gz
/tools/android-sdk18
Flags: needinfo?(rail)
Flags: needinfo?(gbrown)
Flags: needinfo?(bugspam.Callek)
Summary: Document how to run emulator jobs by a developer → Make running Android x86 jobs locally easy for a developer
(In reply to Armen Zambrano [:armenzg] (Release Engineering) (EDT/UTC-4) from comment #1)
> > gbrown, rail, Callek: could you please help me with 1.a or 1.b?
> 
> The list of components:
> http://bm-remote.build.mozilla.org/tegra/tegra-host-utils.Linux.742597.zip

Anyone can distribute this, its merely a collection from a snapshot of a test package and a Firefox Desktop package. C.f. Bug 742597

> /home/cltbld/avds/test-x86.tar.gz

aiui because this includes img files direct from google/android it is NOT redistributable. If we need/want to distribute publically I think we need legal signoff.

> /tools/android-sdk18

For deb this is: http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/a/android-sdk18/

However android sdk is publically downloadable from google, so users can do that themselves
Flags: needinfo?(bugspam.Callek)
(In reply to Justin Wood (:Callek) from comment #2)
> (In reply to Armen Zambrano [:armenzg] (Release Engineering) (EDT/UTC-4)
> from comment #1)
> > > gbrown, rail, Callek: could you please help me with 1.a or 1.b?

Most of today is spoken for...maybe tomorrow I could look at 1.b?

> > /tools/android-sdk18
> 
> For deb this is:
> http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/a/
> android-sdk18/
> 
> However android sdk is publically downloadable from google, so users can do
> that themselves

Developers already need the sdk installed anyway, so I think we can drop this requirement.
Flags: needinfo?(gbrown)
Thank you very much for your help!
I think I have all I need.
Flags: needinfo?(rail)
Assignee: nobody → armenzg
Priority: -- → P2
I've setup a Linux 64-bit locally.
I will be alternating between this bug and the try server bug; mainly the other one.
Priority: P2 → P3
I'm on duty this week and I won't be able to do work for this.
Priority: P3 → --
I'm not going to help on this.
I see too many testing bugs yet to be fixed.
I have other higher priority work I can help with.
This is not necessary a bug that a release engineer needs to take but anyone that can write python and knows a bit of mozharness.
Assignee: armenzg → nobody
I did poke this a bit.

Where should we document this for developers in case they want to loan a releng machine?

Here's some steps to run manually the job and allow to run multiple times, have no need to waste time on re-setting the setup and run only one emulator:
cd /builds/slave/talos-slave/test/
hg clone http://hg.mozilla.org/build/mozharness scripts
/tools/buildbot/bin/python scripts/scripts/androidx86_emulator_unittest.py --cfg scripts/configs/android/androidx86.py --test-suite mochitest-gl --installer-url http://ftp.mozilla.org/pub/mozilla.org/mobile/tinderbox-builds/ash-android-x86/1381433268/fennec-27.0a1.en-US.android-i386.apk --test-url http://ftp.mozilla.org/pub/mozilla.org/mobile/tinderbox-builds/ash-android-x86/1381433268/fennec-27.0a1.en-US.android-i386.tests.zip --no-read-buildbot-config --no-run-tests
/tools/buildbot/bin/python scripts/scripts/androidx86_emulator_unittest.py --cfg scripts/configs/android/androidx86.py --test-suite mochitest-gl --start-emulators 
# Hard-coded the the appname for this step to run
/tools/buildbot/bin/python scripts/scripts/androidx86_emulator_unittest.py --cfg scripts/configs/android/androidx86.py --test-suite mochitest-gl --run-tests
Assignee: nobody → armenzg
I won't be able to work on this for at least two weeks.
Removing assignee until I'm close to work on it (unless someone else could take it).
Assignee: armenzg → nobody
I assume that adding a note on what machine to loan and how to run it locally in here would be sufficient:
https://wiki.mozilla.org/ReleaseEngineering/Mozharness/How_to_run_tests_as_a_developer
x86 jobs are now run from android_emulator_unittest.py -- I don't think there's anything specific to x86 now.
Assignee: nobody → gbrown
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.