diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/tools/ci/tc/tasks | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/tools/ci/tc/tasks')
-rw-r--r-- | testing/web-platform/tests/tools/ci/tc/tasks/test.yml | 558 |
1 files changed, 558 insertions, 0 deletions
diff --git a/testing/web-platform/tests/tools/ci/tc/tasks/test.yml b/testing/web-platform/tests/tools/ci/tc/tasks/test.yml new file mode 100644 index 0000000000..9526a8b8fa --- /dev/null +++ b/testing/web-platform/tests/tools/ci/tc/tasks/test.yml @@ -0,0 +1,558 @@ +components: + wpt-base: + provisionerId: proj-wpt + workerType: ci + schedulerId: taskcluster-github + deadline: "24 hours" + image: webplatformtests/wpt:0.53 + maxRunTime: 7200 + artifacts: + public/results: + path: /home/test/artifacts + type: directory + extra: + github: + customCheckRun: + textArtifactName: public/results/checkrun.md + + wpt-testharness: + chunks: 16 + maxRunTime: 10800 + vars: + test-type: testharness + + wpt-reftest: + chunks: 5 + vars: + test-type: reftest + + wpt-print-reftest: + chunks: 1 + vars: + test-type: print-reftest + + wpt-wdspec: + chunks: 2 + vars: + test-type: wdspec + + wpt-crashtest: + chunks: 1 + vars: + test-type: crashtest + + run-options: + options: + xvfb: true + oom-killer: true + hosts: true + install-certificates: true + + wpt-run: + name: wpt-${vars.browser}-${vars.channel}-${vars.suite}-${chunks.id} + options: + browser: + - ${vars.browser} + channel: ${vars.channel} + command: >- + ./tools/ci/taskcluster-run.py + ${vars.browser} + ${vars.channel} + -- + --channel=${vars.channel} + --log-wptreport=../artifacts/wpt_report.json + --log-wptscreenshot=../artifacts/wpt_screenshot.txt + --no-fail-on-unexpected + --this-chunk=${chunks.id} + --total-chunks=${chunks.total} + --test-type=${vars.suite} + + trigger-master: + trigger: + branch: + - master + + trigger-push: + trigger: + branch: + - triggers/${vars.browser}_${vars.channel} + + trigger-daily: + trigger: + branch: + - epochs/daily + + trigger-weekly: + trigger: + branch: + - epochs/weekly + + trigger-pr: + trigger: + pull-request: + + browser-firefox: + depends-on: + - download-firefox-${vars.channel} + download-artifacts: + - task: download-firefox-${vars.channel} + glob: public/results/firefox-${vars.channel}.* + dest: build/ + extract: true + + browser-webkitgtk_minibrowser: {} + + browser-chrome: {} + + browser-chromium: {} + + browser-servo: {} + + tox-python3_7: + env: + TOXENV: py37 + PY_COLORS: "0" + install: + - python3.7 + - python3.7-distutils + - python3.7-dev + + tox-python3_10: + env: + TOXENV: py310 + PY_COLORS: "0" + install: + - python3.10 + - python3.10-distutils + - python3.10-dev + + tests-affected: + options: + browser: + - ${vars.browser} + channel: ${vars.channel} + schedule-if: + run-job: + - affected_tests + +tasks: + # The scheduling order of tasks is NOT determined by the order in which they + # are defined, but by their dependencies (depends-on). + + # Run full suites on push + - $map: + for: + - vars: + suite: testharness + - vars: + suite: reftest + - vars: + suite: wdspec + - vars: + suite: crashtest + do: + $map: + for: + - vars: + browser: firefox + channel: nightly + use: + - trigger-master + - trigger-push + - vars: + browser: firefox + channel: beta + use: + - trigger-weekly + - trigger-push + - vars: + browser: firefox + channel: stable + use: + - trigger-daily + - trigger-push + - vars: + # Chromium ToT + browser: chromium + channel: nightly + use: + - trigger-daily + - trigger-push + - vars: + browser: chrome + channel: dev + use: + - trigger-master + - trigger-push + - vars: + browser: chrome + channel: beta + use: + - trigger-weekly + - trigger-push + - vars: + browser: chrome + channel: stable + use: + - trigger-daily + - trigger-push + - vars: + browser: webkitgtk_minibrowser + channel: nightly + use: + - trigger-daily + - trigger-push + - vars: + browser: webkitgtk_minibrowser + channel: stable + use: + - trigger-weekly + - trigger-push + - vars: + browser: webkitgtk_minibrowser + channel: beta + use: + - trigger-weekly + - trigger-push + - vars: + browser: servo + channel: nightly + use: + - trigger-weekly + - trigger-push + do: + - ${vars.browser}-${vars.channel}-${vars.suite}: + use: + - wpt-base + - run-options + - wpt-run + - browser-${vars.browser} + - wpt-${vars.suite} + description: >- + A subset of WPT's "${vars.suite}" tests (chunk number ${chunks.id} + of ${chunks.total}), run in the ${vars.channel} release of + ${vars.browser}. + + # print-reftest are currently only supported by Chrome and Firefox. + - $map: + for: + - vars: + suite: print-reftest + do: + $map: + for: + - vars: + browser: firefox + channel: nightly + use: + - trigger-master + - trigger-push + - vars: + browser: firefox + channel: beta + use: + - trigger-weekly + - trigger-push + - vars: + browser: firefox + channel: stable + use: + - trigger-daily + - trigger-push + - vars: + # Chromium ToT + browser: chromium + channel: nightly + use: + - trigger-daily + - trigger-push + - vars: + browser: chrome + channel: dev + use: + - trigger-master + - trigger-push + - vars: + browser: chrome + channel: beta + use: + - trigger-weekly + - trigger-push + - vars: + browser: chrome + channel: stable + use: + - trigger-daily + - trigger-push + do: + - ${vars.browser}-${vars.channel}-${vars.suite}: + use: + - wpt-base + - run-options + - wpt-run + - browser-${vars.browser} + - wpt-${vars.suite} + description: >- + A subset of WPT's "${vars.suite}" tests (chunk number ${chunks.id} + of ${chunks.total}), run in the ${vars.channel} release of + ${vars.browser}. + + - $map: + for: + - vars: + browser: firefox + channel: nightly + stability-exclude-users: + - moz-wptsync-bot + - vars: + browser: chrome + channel: dev + stability-exclude-users: + - chromium-wpt-export-bot + do: + - wpt-${vars.browser}-${vars.channel}-stability: + use: + - wpt-base + - run-options + - browser-${vars.browser} + - trigger-pr + - tests-affected + description: >- + Verify that all tests affected by a pull request are stable + when executed in ${vars.browser}. + command: >- + ./tools/ci/taskcluster-run.py + --commit-range base_head + ${vars.browser} + ${vars.channel} + -- + --channel=${vars.channel} + --verify + --verify-no-chaos-mode + --verify-repeat-loop=0 + --verify-repeat-restart=10 + --github-checks-text-file="/home/test/artifacts/checkrun.md" + exclude-users: ${vars.stability-exclude-users} + + - wpt-${vars.browser}-${vars.channel}-results: + use: + - wpt-base + - run-options + - browser-${vars.browser} + - trigger-pr + - tests-affected + description: >- + Collect results for all tests affected by a pull request in + ${vars.browser}. + command: >- + ./tools/ci/taskcluster-run.py + --commit-range base_head + ${vars.browser} + ${vars.channel} + -- + --channel=${vars.channel} + --no-fail-on-unexpected + --log-wptreport=../artifacts/wpt_report.json + --log-wptscreenshot=../artifacts/wpt_screenshot.txt + + - wpt-${vars.browser}-${vars.channel}-results-without-changes: + use: + - wpt-base + - run-options + - browser-${vars.browser} + - trigger-pr + - tests-affected + options: + checkout: base_head + description: >- + Collect results for all tests affected by a pull request in + ${vars.browser} but without the changes in the PR. + command: >- + ./tools/ci/taskcluster-run.py + --commit-range task_head + ${vars.browser} + ${vars.channel} + -- + --channel=${vars.channel} + --no-fail-on-unexpected + --log-wptreport=../artifacts/wpt_report.json + --log-wptscreenshot=../artifacts/wpt_screenshot.txt + - $map: + for: + - vars: + channel: nightly + - vars: + channel: beta + - vars: + channel: stable + do: + download-firefox-${vars.channel}: + use: + - wpt-base + command: "./wpt install --download-only --destination /home/test/artifacts/ --channel=${vars.channel} --rename=firefox-${vars.channel} firefox browser" + + - lint: + use: + - wpt-base + - trigger-master + - trigger-pr + description: >- + Lint for wpt-specific requirements + command: "./wpt lint --all --github-checks-text-file=/home/test/artifacts/checkrun.md" + + - update-built: + use: + - wpt-base + - trigger-pr + schedule-if: + run-job: + - update_built + command: "./tools/ci/ci_built_diff.sh" + + - tools/ unittests (Python 3.7): + description: >- + Unit tests for tools running under Python 3.7, excluding wptrunner + use: + - wpt-base + - trigger-pr + - tox-python3_7 + command: ./tools/ci/ci_tools_unittest.sh + env: + HYPOTHESIS_PROFILE: ci + schedule-if: + run-job: + - tools_unittest + + - tools/ unittests (Python 3.10): + description: >- + Unit tests for tools running under Python 3.10, excluding wptrunner + use: + - wpt-base + - trigger-pr + - tox-python3_10 + command: ./tools/ci/ci_tools_unittest.sh + env: + HYPOTHESIS_PROFILE: ci + schedule-if: + run-job: + - tools_unittest + + - tools/ integration tests (Python 3.7): + description: >- + Integration tests for tools running under Python 3.7 + use: + - wpt-base + - trigger-pr + - tox-python3_7 + command: ./tools/ci/ci_tools_integration_test.sh + install: + - libnss3-tools + options: + oom-killer: true + browser: + - firefox + - chrome + channel: experimental + xvfb: true + hosts: true + schedule-if: + run-job: + - wpt_integration + + - tools/ integration tests (Python 3.10): + description: >- + Integration tests for tools running under Python 3.10 + use: + - wpt-base + - trigger-pr + - tox-python3_10 + command: ./tools/ci/ci_tools_integration_test.sh + install: + - libnss3-tools + options: + oom-killer: true + browser: + - firefox + - chrome + channel: experimental + xvfb: true + hosts: true + schedule-if: + run-job: + - wpt_integration + + - resources/ tests (Python 3.7): + description: >- + Tests for testharness.js and other files in resources/ under Python 3.7 + use: + - wpt-base + - trigger-pr + - tox-python3_7 + command: ./tools/ci/ci_resources_unittest.sh + install: + - libnss3-tools + options: + browser: + - firefox + xvfb: true + hosts: true + schedule-if: + run-job: + - resources_unittest + + - resources/ tests (Python 3.10): + description: >- + Tests for testharness.js and other files in resources/ under Python 3.10 + use: + - wpt-base + - trigger-pr + - tox-python3_10 + command: ./tools/ci/ci_resources_unittest.sh + install: + - libnss3-tools + options: + browser: + - firefox + xvfb: true + hosts: true + schedule-if: + run-job: + - resources_unittest + + - infrastructure/ tests: + description: >- + Smoketests for wptrunner + vars: + channel: nightly + use: + - wpt-base + - trigger-pr + - browser-firefox + command: ./tools/ci/ci_wptrunner_infrastructure.sh + install: + - python3-pip + - libnss3-tools + - libappindicator1 + - fonts-liberation + options: + oom-killer: true + browser: + - firefox + - chrome + channel: experimental + xvfb: true + hosts: false + schedule-if: + run-job: + - wptrunner_infrastructure + + # Note: even though sink-task does not have `depends-on`, it depends on all + # other tasks (dynamically added by tools/ci/tc/decision.py). + - sink-task: + description: >- + Sink task for all other tasks; indicates success + use: + - wpt-base + - trigger-pr + command: "./wpt tc-sink-task --github-checks-text-file=/home/test/artifacts/checkrun.md" + requires: all-resolved |