tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test.yml (19851B)


      1 components:
      2  wpt-base:
      3    provisionerId: proj-wpt
      4    workerType: ci
      5    schedulerId: taskcluster-github
      6    deadline: "24 hours"
      7    image: ghcr.io/web-platform-tests/wpt:2
      8    maxRunTime: 7200
      9    artifacts:
     10      public/results:
     11        path: /home/test/artifacts
     12        type: directory
     13    extra:
     14      github:
     15        customCheckRun:
     16          textArtifactName: public/results/checkrun.md
     17 
     18  wpt-testharness:
     19    chunks: 16
     20    maxRunTime: 14400
     21    vars:
     22      test-type: testharness
     23 
     24  wpt-reftest:
     25    chunks: 6
     26    vars:
     27      test-type: reftest
     28 
     29  wpt-print-reftest:
     30    chunks: 1
     31    vars:
     32      test-type: print-reftest
     33 
     34  wpt-wdspec:
     35    chunks: 2
     36    vars:
     37      test-type: wdspec
     38 
     39  wpt-crashtest:
     40    chunks: 1
     41    vars:
     42      test-type: crashtest
     43 
     44  run-options:
     45    options:
     46      xvfb: true
     47      oom-killer: true
     48      hosts: true
     49      install-certificates: true
     50 
     51  wpt-run:
     52    name: wpt-${vars.browser}-${vars.channel}-${vars.suite}-${chunks.id}
     53    options:
     54      browser:
     55        - ${vars.browser}
     56      channel: ${vars.channel}
     57    command: >-
     58      ./tools/ci/taskcluster-run.py
     59      ${vars.browser}
     60      ${vars.channel}
     61      --
     62      --channel=${vars.channel}
     63      --log-wptreport=../artifacts/wpt_report.json
     64      --log-wptscreenshot=../artifacts/wpt_screenshot.txt
     65      --no-fail-on-unexpected
     66      --this-chunk=${chunks.id}
     67      --total-chunks=${chunks.total}
     68      --test-type=${vars.suite}
     69 
     70  trigger-master:
     71    trigger:
     72      branch:
     73        - master
     74 
     75  trigger-push:
     76    trigger:
     77      branch:
     78        - triggers/${vars.browser}_${vars.channel}
     79 
     80  trigger-daily:
     81    trigger:
     82      branch:
     83        - epochs/daily
     84 
     85  trigger-weekly:
     86    trigger:
     87      branch:
     88        - epochs/weekly
     89 
     90  trigger-pr:
     91    trigger:
     92      pull-request:
     93 
     94  browser-firefox:
     95    depends-on:
     96      - download-firefox-${vars.channel}
     97    download-artifacts:
     98      - task: download-firefox-${vars.channel}
     99        glob: public/results/firefox-${vars.channel}.*
    100        dest: build/
    101        extract: true
    102 
    103  browser-webkitgtk_minibrowser: {}
    104 
    105  browser-wpewebkit_minibrowser: {}
    106 
    107  browser-chrome: {}
    108 
    109  browser-chromium: {}
    110 
    111  browser-servo: {}
    112 
    113  browser-firefox_android:
    114    privileged: true
    115    scopes:
    116      - "docker-worker:capability:privileged"
    117    chunks-override:
    118      testharness: 30
    119 
    120  tox-python3_8:
    121    env:
    122      TOXENV: py38
    123      PY_COLORS: "0"
    124    install:
    125      - python3.8
    126      - python3.8-distutils
    127      - python3.8-dev
    128      - python3.8-venv
    129 
    130  tox-python3_14:
    131    env:
    132      TOXENV: py314
    133      PY_COLORS: "0"
    134    install:
    135      - python3.14
    136      - python3.14-dev
    137      - python3.14-venv
    138  tests-affected:
    139    options:
    140      browser:
    141        - ${vars.browser}
    142      channel: ${vars.channel}
    143    schedule-if:
    144      run-job:
    145        - affected_tests
    146 
    147 tasks:
    148  # The scheduling order of tasks is NOT determined by the order in which they
    149  # are defined, but by their dependencies (depends-on).
    150 
    151  # Run full suites on push
    152  - $map:
    153      for:
    154        - vars:
    155            suite: testharness
    156        - vars:
    157            suite: wdspec
    158        - vars:
    159            suite: crashtest
    160      do:
    161        $map:
    162          for:
    163            - vars:
    164                browser: firefox
    165                channel: nightly
    166              use:
    167                - trigger-master
    168                - trigger-push
    169            - vars:
    170                browser: firefox
    171                channel: beta
    172              use:
    173                - trigger-weekly
    174                - trigger-push
    175            - vars:
    176                browser: firefox
    177                channel: stable
    178              use:
    179                - trigger-daily
    180                - trigger-push
    181            - vars:
    182                # Chromium ToT
    183                browser: chromium
    184                channel: nightly
    185              use:
    186                - trigger-daily
    187                - trigger-push
    188            - vars:
    189                browser: chrome
    190                channel: canary
    191              use:
    192                - trigger-master
    193                - trigger-push
    194            - vars:
    195                browser: chrome
    196                channel: dev
    197              use:
    198                - trigger-weekly
    199                - trigger-push
    200            - vars:
    201                browser: chrome
    202                channel: beta
    203              use:
    204                - trigger-weekly
    205                - trigger-push
    206            - vars:
    207                browser: chrome
    208                channel: stable
    209              use:
    210                - trigger-daily
    211                - trigger-push
    212            - vars:
    213                browser: webkitgtk_minibrowser
    214                channel: nightly
    215              use:
    216                - trigger-daily
    217                - trigger-push
    218            - vars:
    219                browser: webkitgtk_minibrowser
    220                channel: stable
    221              use:
    222                - trigger-weekly
    223                - trigger-push
    224            - vars:
    225                browser: webkitgtk_minibrowser
    226                channel: beta
    227              use:
    228                - trigger-weekly
    229                - trigger-push
    230            - vars:
    231                browser: wpewebkit_minibrowser
    232                channel: nightly
    233              use:
    234                - trigger-daily
    235                - trigger-push
    236            - vars:
    237                browser: wpewebkit_minibrowser
    238                channel: stable
    239              use:
    240                - trigger-weekly
    241                - trigger-push
    242            - vars:
    243                browser: wpewebkit_minibrowser
    244                channel: beta
    245              use:
    246                - trigger-weekly
    247                - trigger-push
    248            - vars:
    249                browser: servo
    250                channel: nightly
    251              use:
    252                - trigger-daily
    253                - trigger-push
    254            - vars:
    255                browser: firefox_android
    256                channel: nightly
    257              use:
    258                - trigger-daily
    259                - trigger-push
    260            - vars:
    261                browser: firefox_android
    262                channel: stable
    263              use:
    264                - trigger-daily
    265                - trigger-push
    266          do:
    267            - ${vars.browser}-${vars.channel}-${vars.suite}:
    268                use:
    269                  - wpt-base
    270                  - run-options
    271                  - wpt-run
    272                  - browser-${vars.browser}
    273                  - wpt-${vars.suite}
    274                description: >-
    275                  A subset of WPT's "${vars.suite}" tests (chunk number ${chunks.id}
    276                  of ${chunks.total}), run in the ${vars.channel} release of
    277                  ${vars.browser}.
    278 
    279  # Reftests are currently broken on firefox_android; this should otherwise be identical
    280  # to the section above
    281  - $map:
    282      for:
    283        - vars:
    284            suite: reftest
    285      do:
    286        $map:
    287          for:
    288            - vars:
    289                browser: firefox
    290                channel: nightly
    291              use:
    292                - trigger-master
    293                - trigger-push
    294            - vars:
    295                browser: firefox
    296                channel: beta
    297              use:
    298                - trigger-weekly
    299                - trigger-push
    300            - vars:
    301                browser: firefox
    302                channel: stable
    303              use:
    304                - trigger-daily
    305                - trigger-push
    306            - vars:
    307                # Chromium ToT
    308                browser: chromium
    309                channel: nightly
    310              use:
    311                - trigger-daily
    312                - trigger-push
    313            - vars:
    314                browser: chrome
    315                channel: canary
    316              use:
    317                - trigger-master
    318                - trigger-push
    319            - vars:
    320                browser: chrome
    321                channel: dev
    322              use:
    323                - trigger-weekly
    324                - trigger-push
    325            - vars:
    326                browser: chrome
    327                channel: beta
    328              use:
    329                - trigger-weekly
    330                - trigger-push
    331            - vars:
    332                browser: chrome
    333                channel: stable
    334              use:
    335                - trigger-daily
    336                - trigger-push
    337            - vars:
    338                browser: webkitgtk_minibrowser
    339                channel: nightly
    340              use:
    341                - trigger-daily
    342                - trigger-push
    343            - vars:
    344                browser: webkitgtk_minibrowser
    345                channel: stable
    346              use:
    347                - trigger-weekly
    348                - trigger-push
    349            - vars:
    350                browser: webkitgtk_minibrowser
    351                channel: beta
    352              use:
    353                - trigger-weekly
    354                - trigger-push
    355            - vars:
    356                browser: wpewebkit_minibrowser
    357                channel: nightly
    358              use:
    359                - trigger-daily
    360                - trigger-push
    361            - vars:
    362                browser: wpewebkit_minibrowser
    363                channel: stable
    364              use:
    365                - trigger-weekly
    366                - trigger-push
    367            - vars:
    368                browser: wpewebkit_minibrowser
    369                channel: beta
    370              use:
    371                - trigger-weekly
    372                - trigger-push
    373            - vars:
    374                browser: servo
    375                channel: nightly
    376              use:
    377                - trigger-daily
    378                - trigger-push
    379          do:
    380            - ${vars.browser}-${vars.channel}-${vars.suite}:
    381                use:
    382                  - wpt-base
    383                  - run-options
    384                  - wpt-run
    385                  - browser-${vars.browser}
    386                  - wpt-${vars.suite}
    387                description: >-
    388                  A subset of WPT's "${vars.suite}" tests (chunk number ${chunks.id}
    389                  of ${chunks.total}), run in the ${vars.channel} release of
    390                  ${vars.browser}.
    391 
    392  # print-reftest are currently only supported by Chrome and Firefox.
    393  - $map:
    394      for:
    395        - vars:
    396            suite: print-reftest
    397      do:
    398        $map:
    399          for:
    400            - vars:
    401                browser: firefox
    402                channel: nightly
    403              use:
    404                - trigger-master
    405                - trigger-push
    406            - vars:
    407                browser: firefox
    408                channel: beta
    409              use:
    410                - trigger-weekly
    411                - trigger-push
    412            - vars:
    413                browser: firefox
    414                channel: stable
    415              use:
    416                - trigger-daily
    417                - trigger-push
    418            - vars:
    419                # Chromium ToT
    420                browser: chromium
    421                channel: nightly
    422              use:
    423                - trigger-daily
    424                - trigger-push
    425            - vars:
    426                browser: chrome
    427                channel: canary
    428              use:
    429                - trigger-master
    430                - trigger-push
    431            - vars:
    432                browser: chrome
    433                channel: dev
    434              use:
    435                - trigger-weekly
    436                - trigger-push
    437            - vars:
    438                browser: chrome
    439                channel: beta
    440              use:
    441                - trigger-weekly
    442                - trigger-push
    443            - vars:
    444                browser: chrome
    445                channel: stable
    446              use:
    447                - trigger-daily
    448                - trigger-push
    449          do:
    450            - ${vars.browser}-${vars.channel}-${vars.suite}:
    451                use:
    452                  - wpt-base
    453                  - run-options
    454                  - wpt-run
    455                  - browser-${vars.browser}
    456                  - wpt-${vars.suite}
    457                description: >-
    458                  A subset of WPT's "${vars.suite}" tests (chunk number ${chunks.id}
    459                  of ${chunks.total}), run in the ${vars.channel} release of
    460                  ${vars.browser}.
    461 
    462  - $map:
    463      for:
    464        - vars:
    465            browser: firefox
    466            channel: nightly
    467            stability-exclude-users:
    468              - moz-wptsync-bot
    469            required: true
    470        - vars:
    471            browser: chrome
    472            channel: dev
    473            stability-exclude-users:
    474              - chromium-wpt-export-bot
    475            required: false
    476      do:
    477        - wpt-${vars.browser}-${vars.channel}-stability:
    478            use:
    479              - wpt-base
    480              - run-options
    481              - browser-${vars.browser}
    482              - trigger-pr
    483              - tests-affected
    484            description: >-
    485              Verify that all tests affected by a pull request are stable
    486              when executed in ${vars.browser}.
    487            command: >-
    488              ./tools/ci/taskcluster-run.py
    489              --commit-range base_head
    490              ${vars.browser}
    491              ${vars.channel}
    492              --
    493              --channel=${vars.channel}
    494              --verify
    495              --verify-no-chaos-mode
    496              --verify-repeat-loop=0
    497              --verify-repeat-restart=10
    498              --github-checks-text-file="/home/test/artifacts/checkrun.md"
    499            exclude-users: ${vars.stability-exclude-users}
    500            required: ${vars.required}
    501 
    502        - wpt-${vars.browser}-${vars.channel}-results:
    503            use:
    504              - wpt-base
    505              - run-options
    506              - browser-${vars.browser}
    507              - trigger-pr
    508              - tests-affected
    509            description: >-
    510              Collect results for all tests affected by a pull request in
    511              ${vars.browser}.
    512            command: >-
    513              ./tools/ci/taskcluster-run.py
    514              --commit-range base_head
    515              ${vars.browser}
    516              ${vars.channel}
    517              --
    518              --channel=${vars.channel}
    519              --no-fail-on-unexpected
    520              --log-wptreport=../artifacts/wpt_report.json
    521              --log-wptscreenshot=../artifacts/wpt_screenshot.txt
    522 
    523        - wpt-${vars.browser}-${vars.channel}-results-without-changes:
    524            use:
    525              - wpt-base
    526              - run-options
    527              - browser-${vars.browser}
    528              - trigger-pr
    529              - tests-affected
    530            options:
    531              checkout: base_head
    532            description: >-
    533              Collect results for all tests affected by a pull request in
    534              ${vars.browser} but without the changes in the PR.
    535            command: >-
    536              ./tools/ci/taskcluster-run.py
    537              --commit-range task_head
    538              ${vars.browser}
    539              ${vars.channel}
    540              --
    541              --channel=${vars.channel}
    542              --no-fail-on-unexpected
    543              --log-wptreport=../artifacts/wpt_report.json
    544              --log-wptscreenshot=../artifacts/wpt_screenshot.txt
    545  - $map:
    546      for:
    547        - vars:
    548            channel: nightly
    549        - vars:
    550            channel: beta
    551        - vars:
    552            channel: stable
    553      do:
    554        download-firefox-${vars.channel}:
    555          use:
    556            - wpt-base
    557          command: "./wpt install --download-only --destination /home/test/artifacts/ --channel=${vars.channel}  --rename=firefox-${vars.channel} firefox browser"
    558 
    559  - lint:
    560      use:
    561        - wpt-base
    562        - trigger-master
    563        - trigger-pr
    564      description: >-
    565        Lint for wpt-specific requirements
    566      command: "./wpt lint --all --github-checks-text-file=/home/test/artifacts/checkrun.md"
    567 
    568  - update-built:
    569      use:
    570        - wpt-base
    571        - trigger-pr
    572      schedule-if:
    573        run-job:
    574          - update_built
    575      command: "./tools/ci/ci_built_diff.sh"
    576 
    577  - tools/ unittests (Python 3.8):
    578      description: >-
    579        Unit tests for tools running under Python 3.8, excluding wptrunner
    580      use:
    581        - wpt-base
    582        - trigger-pr
    583        - tox-python3_8
    584      command: ./tools/ci/ci_tools_unittest.sh
    585      env:
    586        HYPOTHESIS_PROFILE: ci
    587      schedule-if:
    588        run-job:
    589          - tools_unittest
    590 
    591  - tools/ unittests (Python 3.14):
    592      description: >-
    593        Unit tests for tools running under Python 3.14, excluding wptrunner
    594      use:
    595        - wpt-base
    596        - trigger-pr
    597        - tox-python3_14
    598      command: ./tools/ci/ci_tools_unittest.sh
    599      env:
    600        HYPOTHESIS_PROFILE: ci
    601      schedule-if:
    602        run-job:
    603          - tools_unittest
    604 
    605  - tools/ integration tests (Python 3.8):
    606      description: >-
    607        Integration tests for tools running under Python 3.8
    608      use:
    609        - wpt-base
    610        - trigger-pr
    611        - tox-python3_8
    612      command: ./tools/ci/ci_tools_integration_test.sh
    613      install:
    614        - libnss3-tools
    615      options:
    616        oom-killer: true
    617        browser:
    618          - firefox
    619          - chrome
    620        channel: experimental
    621        xvfb: true
    622        hosts: true
    623      schedule-if:
    624        run-job:
    625          - wpt_integration
    626 
    627  - tools/ integration tests (Python 3.14):
    628      description: >-
    629        Integration tests for tools running under Python 3.14
    630      use:
    631        - wpt-base
    632        - trigger-pr
    633        - tox-python3_14
    634      command: ./tools/ci/ci_tools_integration_test.sh
    635      install:
    636        - libnss3-tools
    637      options:
    638        oom-killer: true
    639        browser:
    640          - firefox
    641          - chrome
    642        channel: experimental
    643        xvfb: true
    644        hosts: true
    645      schedule-if:
    646        run-job:
    647          - wpt_integration
    648 
    649  - resources/ tests (Python 3.8):
    650      description: >-
    651        Tests for testharness.js and other files in resources/ under Python 3.8
    652      use:
    653        - wpt-base
    654        - trigger-pr
    655        - tox-python3_8
    656      command: ./tools/ci/ci_resources_unittest.sh
    657      install:
    658        - libnss3-tools
    659      options:
    660        browser:
    661          - firefox
    662        xvfb: true
    663        hosts: true
    664      schedule-if:
    665        run-job:
    666          - resources_unittest
    667 
    668  - resources/ tests (Python 3.14):
    669      description: >-
    670        Tests for testharness.js and other files in resources/ under Python 3.14
    671      use:
    672        - wpt-base
    673        - trigger-pr
    674        - tox-python3_14
    675      command: ./tools/ci/ci_resources_unittest.sh
    676      install:
    677        - libnss3-tools
    678      options:
    679        browser:
    680          - firefox
    681        xvfb: true
    682        hosts: true
    683      schedule-if:
    684        run-job:
    685          - resources_unittest
    686 
    687  - $map:
    688      for:
    689        - vars:
    690            browser: firefox
    691            channel: nightly
    692        - vars:
    693            browser: chrome
    694            channel: dev
    695        - vars:
    696            browser: firefox_android
    697            channel: nightly
    698      do:
    699        - infrastructure/ tests (${vars.browser}):
    700            description: >-
    701              Smoketests for wptrunner in ${vars.browser}.
    702            use:
    703              - wpt-base
    704              - trigger-pr
    705              - browser-${vars.browser}
    706            command: ./tools/ci/ci_wptrunner_infrastructure.sh ${vars.browser} ${vars.channel}
    707            install:
    708              - python3-pip
    709              - libnss3-tools
    710              - libappindicator1
    711              - fonts-liberation
    712            options:
    713              oom-killer: true
    714              browser:
    715                - ${vars.browser}
    716              channel: ${vars.channel}
    717              xvfb: true
    718              hosts: false
    719            schedule-if:
    720              run-job:
    721                - wptrunner_infrastructure
    722 
    723  # Note: even though sink-task does not have `depends-on`, it depends on all
    724  # other tasks (dynamically added by tools/ci/tc/decision.py).
    725  - sink-task:
    726      description: >-
    727        Sink task for all other tasks; indicates success
    728      use:
    729        - wpt-base
    730        - trigger-pr
    731      command: "./wpt tc-sink-task --github-checks-text-file=/home/test/artifacts/checkrun.md"
    732      requires: all-resolved