https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 29ad6b8c4b678cdb1ab4649f8b3acf54cd56bccc authored by Anne van Kesteren on 24 September 2018, 14:41:07 UTC
Fetch/HTTP: test WWW-Authenticate parsing
Tip revision: 29ad6b8
.taskcluster.yml
version: 1
policy:
  pullRequests: collaborators
tasks:
  $flattenDeep:
    - $if: tasks_for == "github-push"
      then:
        $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: stable}, {name: chrome, channel: stable}],
              event.ref == "refs/heads/epochs/weekly": [{name: firefox, channel: beta}, {name: chrome, channel: beta}]
              }
        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: jugglinmike/web-platform-tests:0.21
              maxRunTime: 7200
              artifacts:
                public/results:
                  path: /home/test/artifacts
                  type: directory
              command:
                - /bin/bash
                - --login
                - -c
                - set -ex;
                  ~/start.sh
                    ${event.repository.url}
                    ${event.ref}
                    ${event.after}
                    ${browser.name}
                    ${browser.channel};
                  cd ~/web-platform-tests;
                  ./tools/ci/taskcluster-run.py
                    ${browser.name}
                    --
                    --channel=${browser.channel}
                    --log-wptreport=../artifacts/wpt_report.json
                    --no-fail-on-unexpected
                    --test-type=${chunk[0]}
                    --this-chunk=${chunk[1]}
                    --total-chunks=${chunk[2]};
    - $if: tasks_for == "github-pull-request"
      then:
        $map: [{name: firefox, channel: nightly}, {name: chrome, channel: dev}]
        each(browser):
          $map:
            - name: wpt-${browser.name}-${browser.channel}-stability
              description: >-
                Verify that all tests affected by a pull request are stable
                when executed in ${browser.name}.
              extra_args: '--verify'
            - name: wpt-${browser.name}-${browser.channel}-results
              description: >-
                Collect results for all tests affected by a pull request in
                ${browser.name}.
              extra_args: '--no-fail-on-unexpected --log-wptreport=../artifacts/wpt_report.json'
          each(operation):
            taskId: {$eval: 'as_slugid(operation.name)'}
            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: ${operation.name}
              description: ${operation.description}
              owner: ${event.pull_request.user.login}@users.noreply.github.com
              source: ${event.repository.url}
            payload:
              image: jugglinmike/web-platform-tests:0.21
              maxRunTime: 7200
              artifacts:
                public/results:
                  path: /home/test/artifacts
                  type: directory
              # Fetch the GitHub-provided merge commit (rather than the pull
              # request branch) so that the tasks simulate the behavior of the
              # submitted patch after it is merged. Using the merge commit also
              # simplifies detection of modified files because the first parent
              # of the merge commit can consistently be used to summarize the
              # changes.
              command:
                - /bin/bash
                - --login
                - -c
                - set -ex;
                  ~/start.sh
                    ${event.repository.clone_url}
                    refs/pull/${event.number}/merge
                    FETCH_HEAD
                    ${browser.name}
                    ${browser.channel};
                  cd ~/web-platform-tests;
                  result=0;
                  ./tools/ci/taskcluster-run.py
                    --commit-range HEAD^
                    ${browser.name}
                    --
                    --channel=${browser.channel}
                    ${operation.extra_args} || result=$?;
                  echo $result > ../artifacts/run-return-code.txt;
                  echo "Command exited with code $result (failures are allowed while this task is being vetted)."
back to top