New test environments: Difference between revisions

Jump to navigation Jump to search
Added section on enabling build and tests, first revision
(Replace number bullet with bullet)
(Added section on enabling build and tests, first revision)
Line 9: Line 9:
The aim of this document, and process is to establish a standardized process that can be used by anyone in Mozilla engineering to perform operating system upgrades.
The aim of this document, and process is to establish a standardized process that can be used by anyone in Mozilla engineering to perform operating system upgrades.


= Tasks =
= Task Overview =


Broadly speaking, the following are the discrete phases involved.
Broadly speaking, the following are the discrete phases involved.
Line 34: Line 34:


     placeholder
     placeholder
= Enable platform on taskgraph =
The first step of any new test environment is to enable the test platform on Tryserver.
At each step, ensure the taskgraph is sound. This can be verified using:
./mach taskgraph full -v
If the taskgraph can be generated, a push to Tryserver would at least pass the Gecko Decision Task.
== Enable build ==
''<small>This step may have already been performed by other teams (eg. Releng). If so, skip to the next step.</small>''
First, the platform needs to be built.
From ''taskcluster/ci/build'', select the appropriate YML file for the platform. For example, if adding a new Windows build type, select ''taskcluster/ci/build/windows.yml''.
Define all of the required attributes, using existing configurations as a template.
Example with windows10-aarch64 builds:
win64-aarch64/opt:
    description: "AArch64 Win64 Opt"
    index:
        product: firefox
        job-name: win64-aarch64-opt
    attributes:
        enable-full-crashsymbols: true
    treeherder:
        platform: windows2012-aarch64/opt
        symbol: B
        tier: 1
    worker-type: b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
            PERFHERDER_EXTRA_OPTIONS: aarch64
    run:
        actions: [get-secrets, build]
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        secrets: true
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
        extra-config:
            stage_platform: win64-aarch64
            mozconfig_platform: win64-aarch64
    fetches:
        toolchain:
            - win64-clang-cl
            - win64-rust
            - win64-rust-size
            - win64-cbindgen
            - win64-sccache
            - win64-nasm
            - win64-node
Push to Tryserver using the interactive Try Fuzzy selector:
./mach try fuzzy
== Worker configuration ==
''<small>This step may have already been performed by other teams (eg. Releng), or not required at all (eg. OS upgrade). If so, skip to the next step.</small>''
Once the build task has been successfully enabled, test workers must be defined.
There are several files that need to have the new platform added in order to satisfy the taskgraph algorithm:
* taskcluster/taskgraph/transforms/tests.py
* taskcluster/taskgraph/util/workertypes.py
Check and add the new platform details in the following categories:
* worker types
* tiers
* treeherder name translations
75

edits

Navigation menu