| version: 1 |
| policy: |
| pullRequests: collaborators |
| tasks: |
| $if: tasks_for == "github-push" |
| then: |
| $flattenDeep: |
| $map: |
| $flatten: |
| $match: { |
| event.ref == "refs/heads/master": [{name: firefox, channel: nightly}, {name: chrome, channel: dev}], |
| event.ref == "refs/heads/epochs/daily": [{name: firefox, channel: beta}, {name: chrome, channel: beta}], |
| event.ref == "refs/heads/epochs/weekly": [{name: firefox, channel: stable}, {name: chrome, channel: stable}] |
| } |
| each(browser): |
| $map: |
| - [testharness, 1, 15] |
| - [testharness, 2, 15] |
| - [testharness, 3, 15] |
| - [testharness, 4, 15] |
| - [testharness, 5, 15] |
| - [testharness, 6, 15] |
| - [testharness, 7, 15] |
| - [testharness, 8, 15] |
| - [testharness, 9, 15] |
| - [testharness, 10, 15] |
| - [testharness, 11, 15] |
| - [testharness, 12, 15] |
| - [testharness, 13, 15] |
| - [testharness, 14, 15] |
| - [testharness, 15, 15] |
| - [reftest, 1, 10] |
| - [reftest, 2, 10] |
| - [reftest, 3, 10] |
| - [reftest, 4, 10] |
| - [reftest, 5, 10] |
| - [reftest, 6, 10] |
| - [reftest, 7, 10] |
| - [reftest, 8, 10] |
| - [reftest, 9, 10] |
| - [reftest, 10, 10] |
| - [wdspec, 1, 1] |
| each(chunk): |
| taskId: {$eval: 'as_slugid(browser.name + browser.channel + chunk[0] + str(chunk[1]))'} |
| taskGroupId: {$eval: 'as_slugid("task group")'} |
| created: {$fromNow: ''} |
| deadline: {$fromNow: '24 hours'} |
| provisionerId: aws-provisioner-v1 |
| workerType: |
| $if: event.repository.full_name == 'web-platform-tests/wpt' |
| then: |
| wpt-docker-worker |
| else: |
| github-worker |
| metadata: |
| name: wpt-${browser.name}-${browser.channel}-${chunk[0]}-${chunk[1]} |
| description: >- |
| A subset of WPT's "${chunk[0]}" tests (chunk number ${chunk[1]} |
| of ${chunk[2]}), run in the ${browser.channel} release of |
| ${browser.name}. |
| owner: ${event.pusher.email} |
| source: ${event.repository.url} |
| payload: |
| image: harjgam/web-platform-tests:0.14 |
| maxRunTime: 7200 |
| artifacts: |
| public/results: |
| path: /home/test/artifacts |
| type: directory |
| command: |
| - /bin/bash |
| - --login |
| - -c |
| - "~/start.sh ${event.repository.url} ${event.ref[len('refs/heads/'):]} ${event.after} ${browser.name} ${browser.channel} && |
| cd ~/web-platform-tests && |
| ./tools/ci/ci_taskcluster.sh ${browser.name} ${browser.channel} ${chunk[0]} ${chunk[1]} ${chunk[2]}" |
| # > NOTE: A well-designed template should produce `tasks: []` for any |
| # > unrecognized `task_for` values; this allows later expansion of this |
| # > service to handle more events. |
| # |
| # https://docs.taskcluster.net/docs/reference/integrations/taskcluster-github/docs/taskcluster-yml-v1 |
| else: [] |