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: []