CI Automation/windows10 aarch64: Difference between revisions
(Added section to install) |
(how to run tests) |
||
Line 32: | Line 32: | ||
Instruction originally from [https://bugzilla.mozilla.org/show_bug.cgi?id=1522997#c2 1522997]. | Instruction originally from [https://bugzilla.mozilla.org/show_bug.cgi?id=1522997#c2 1522997]. | ||
=== Prerequisites === | |||
* disable Windows S mode | * disable Windows S mode | ||
* disable User Account Control | * disable User Account Control | ||
Line 38: | Line 38: | ||
* download NSSM to C:\nssm-2.24\ | * download NSSM to C:\nssm-2.24\ | ||
* create "Remote Desktop Users" group: | * create "Remote Desktop Users" group: | ||
net localgroup "Remote Desktop Users" /add | |||
* log in to Taskcluster | * log in to Taskcluster | ||
* request scope `assume:project:taskcluster:generic-worker-tester` | * request scope `assume:project:taskcluster:generic-worker-tester` | ||
=== Steps === | |||
# download the current 386 release of `generic-worker-windows-386.exe` from [https://github.com/taskcluster/generic-worker/releases taskcluster generic-worker]. | # download the current 386 release of `generic-worker-windows-386.exe` from [https://github.com/taskcluster/generic-worker/releases taskcluster generic-worker]. | ||
Line 50: | Line 50: | ||
# rename generic-worker-windows-386.exe to generic-worker.exe. | # rename generic-worker-windows-386.exe to generic-worker.exe. | ||
# generate two signing keys: | # generate two signing keys: | ||
generic-worker new-openpgp-keypair --file <unique_file_name> | |||
generic-worker new-ed25519-keypair --file <unique_file_name> | |||
# create generic-worker.config and include the following: | # create generic-worker.config and include the following: | ||
"accessToken": "<access token tied to taskcluster>", | |||
"clientId": "<client ID tied to taskcluster>", | |||
"ed25519SigningKeyLocation": "<file location you wrote ed25519 private key in step 6>", | |||
"livelogSecret": "<any text>", | |||
"openpgpSigningKeyLocation": "<file location you wrote gpg private key kn step 6>", | |||
"provisionerId": "test-provisioner", | |||
"publicIP": "<ideally an IP address of one of your network interfaces>", | |||
"rootURL": "https://taskcluster.net", | |||
"workerGroup": "test-worker-group", | |||
"workerId": "test-worker-id", | |||
"workerType": "<a unique string that only you will use for your test worker(s)>" | |||
# launch cmd.exe with Administrator rights. | # launch cmd.exe with Administrator rights. | ||
# cd c:\generic-worker | # cd c:\generic-worker | ||
Line 83: | Line 94: | ||
* cppunittest | * cppunittest | ||
For an up-to-date | For an up-to-date list of tests, please refer to [https://searchfox.org/mozilla-central/source/taskcluster/ci/test/test-platforms.yml#222 this file]. | ||
= Run tests = | |||
== Overview == | |||
This is probably what you came to the document for. How to run tests against the windows10-aarch64 hardware we currently have running. | |||
Follow these steps to be able to enable windows10-aarch64 tests for the try server. These steps are required as of 2019-02-25; it will become obsolete when windows10-aarch64 tests are released to the general public. | |||
=== Prerequisites === | |||
* try access | |||
* up-to-date mozilla-central codebase | |||
=== Steps === | |||
# open the file at taskcluster/ci/test/test-platforms.yml | |||
# search for 'windows10-aarch64/opt' | |||
# uncomment all or some of the items under 'test-sets' | |||
# make changes to the local codebase that needs testing | |||
# ./mach try fuzzy | |||
# select tests that need to be run | |||
# enter | |||
= Bugs = | = Bugs = | ||
These are the top-level bugs; the recommended view is [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1522997&hide_resolved=0 tree]. | These are the top-level tracking bugs; the recommended view is [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1522997&hide_resolved=0 tree] (login required). | ||
<bugzilla> | <bugzilla> |
Revision as of 00:35, 26 February 2019
Overview
With the announcement of the Qualcomm-Mozilla partnership came the need to release a version of Firefox for the ARM64 architecture.
Since mid-January 2019 the CI-A team has been working to enable existing test harnesses, continuous integration tests and other tools to run on Windows 10 ARM64.
Information
Hardware
- Make: Lenovo
- Model: C630 YOGA
- Processor: Qualcomm Snapdragon 850 3.0GHz
- Cores: 8
- Memory: 8GB
- Disk: 128GB SSD
Hosting
Currently an array of 9 machines are hosted at Bitbar in the United States.
Setup
Tests that are run against windows10-aarch64 execute using Taskcluster Generic-Worker. These are installed as a service on the Windows 10 ARM64 manually or via OpenCloudConfig.
A brief walkthrough of the steps to have Taskcluster Generic-Worker running on Windows 10 ARM64 will be provided.
Using only generic-worker
Follow this step to install Taskcluster Generic-Worker on the hardware, and have it launch as a service. After following these steps, the hardware should be ready to accept any tasks started on Taskcluster.
Instruction originally from 1522997.
Prerequisites
- disable Windows S mode
- disable User Account Control
- disable Windows Firewall
- download NSSM to C:\nssm-2.24\
- create "Remote Desktop Users" group:
net localgroup "Remote Desktop Users" /add
- log in to Taskcluster
- request scope `assume:project:taskcluster:generic-worker-tester`
Steps
- download the current 386 release of `generic-worker-windows-386.exe` from taskcluster generic-worker.
- download the latest 386 version of livelog.exe and taskcluster-proxy.exe.
- create new directory C:\generic-worker.
- move the three executable files under C:\generic-worker.
- rename generic-worker-windows-386.exe to generic-worker.exe.
- generate two signing keys:
generic-worker new-openpgp-keypair --file <unique_file_name> generic-worker new-ed25519-keypair --file <unique_file_name>
- create generic-worker.config and include the following:
"accessToken": "<access token tied to taskcluster>", "clientId": "<client ID tied to taskcluster>", "ed25519SigningKeyLocation": "<file location you wrote ed25519 private key in step 6>", "livelogSecret": "<any text>", "openpgpSigningKeyLocation": "<file location you wrote gpg private key kn step 6>", "provisionerId": "test-provisioner", "publicIP": "<ideally an IP address of one of your network interfaces>", "rootURL": "https://taskcluster.net", "workerGroup": "test-worker-group", "workerId": "test-worker-id", "workerType": "<a unique string that only you will use for your test worker(s)>"
- launch cmd.exe with Administrator rights.
- cd c:\generic-worker
- generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe
- reboot once installed.
- launch cmd.exe with Administrator rights.
- sc query "Generic Worker"
Using OpenCloudConfig
This is the method that is used in production.
Steps originally taken from 1520432.
- Invoke-Expression (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mozilla-releng/OpenCloudConfig/aarch64/userdata/rundsc.ps1')
Currently Running
Currently supported list of tests include:
- awsy
- mochitest (all flavors, including e10s)
- web-platform-tests (all flavors)
- reftests
Supported, requires non-artifact build:
- jittest
- gtests
- cppunittest
For an up-to-date list of tests, please refer to this file.
Run tests
Overview
This is probably what you came to the document for. How to run tests against the windows10-aarch64 hardware we currently have running.
Follow these steps to be able to enable windows10-aarch64 tests for the try server. These steps are required as of 2019-02-25; it will become obsolete when windows10-aarch64 tests are released to the general public.
Prerequisites
- try access
- up-to-date mozilla-central codebase
Steps
- open the file at taskcluster/ci/test/test-platforms.yml
- search for 'windows10-aarch64/opt'
- uncomment all or some of the items under 'test-sets'
- make changes to the local codebase that needs testing
- ./mach try fuzzy
- select tests that need to be run
- enter
Bugs
These are the top-level tracking bugs; the recommended view is tree (login required).
32 Total; 5 Open (15.63%); 27 Resolved (84.38%); 0 Verified (0%);