| dist: trusty |
| sudo: required |
| language: python |
| branches: |
| only: |
| - master |
| before_install: |
| # This needs be sourced as it sets various env vars |
| - . ./tools/ci/before_install.sh |
| install: |
| - ./tools/ci/install.sh |
| matrix: |
| # The use of `if` conditionals to exclude jobs from master should align with |
| # jobs unconditionally listed by `./wpt test-jobs`, regardless of affected |
| # paths. (The reverse is not true, as the manifest job could run on PRs too.) |
| fast_finish: true |
| include: |
| - name: "tag master + upload manifest" |
| if: type = push AND branch = master |
| os: linux |
| python: "2.7" |
| env: |
| - JOB=manifest_upload SCRIPT=tools/ci/ci_manifest.sh |
| - secure: "FrlMkMZiwggnhJbLiLxZ4imtXxuzFNozty94g1mneMPEVLrnyhb6c/g2SwN37KKU0WSDlGTz26IYnFvo1ftfSOx+sjRz0HqwW7JnrXULKYo7jiPttIcmeJxlSVeW9yS4blbLaBakytHjSnsf+za7bAaf1aS7RRAtAINgifA6Chg=" |
| deploy: |
| provider: releases |
| api_key: |
| secure: "EljDx50oNpDLs7rzwIv+z1PxIgB5KMnx1W0OQkpNvltR0rBW9g/aQaE+Z/c8M/sPqN1bkvKPybKzGKjb6j9Dw3/EJhah4SskH78r3yMAe2DU/ngxqqjjfXcCc2t5MKxzHAILTAxqScPj2z+lG1jeK1Z+K5hTbSP9lk+AvS0D16w=" |
| file: $WPT_MANIFEST_FILE.gz |
| skip_cleanup: true |
| - name: "lint" |
| # lint is run both on master and on PRs |
| os: linux |
| python: "2.7" |
| env: JOB=lint SCRIPT=tools/ci/ci_lint.sh |
| - name: "update-built-tests.sh" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| env: JOB=update_built SCRIPT=tools/ci/ci_built_diff.sh |
| - name: "build-css-testsuites.sh" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| env: JOB=build_css SCRIPT=css/build-css-testsuites.sh |
| - name: "stability (Firefox Nightly)" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| addons: |
| apt: |
| packages: |
| - libnss3-tools |
| env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=firefox:nightly |
| - name: "stability (Chrome Dev)" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| addons: |
| apt: |
| packages: |
| - libappindicator1 |
| - fonts-liberation |
| env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev |
| - name: "tools/ unittests (Python 2)" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| env: JOB=tools_unittest TOXENV=py27 HYPOTHESIS_PROFILE=ci SCRIPT=tools/ci/ci_tools_unittest.sh |
| - name: "tools/ unittests (Python 3)" |
| if: type = pull_request |
| os: linux |
| python: "3.6" |
| env: JOB=tools_unittest TOXENV=py36 HYPOTHESIS_PROFILE=ci SCRIPT=tools/ci/ci_tools_unittest.sh |
| - name: "tools/wpt/ tests" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| addons: |
| apt: |
| packages: |
| - libnss3-tools |
| env: JOB=wpt_integration TOXENV=py27 SCRIPT=tools/ci/ci_wpt.sh |
| - name: "resources/ tests" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| env: JOB=resources_unittest TOXENV=py27 SCRIPT=tools/ci/ci_resources_unittest.sh |
| - name: "infrastructure/ tests" |
| if: type = pull_request |
| os: linux |
| python: "2.7" |
| env: JOB=wptrunner_infrastructure SCRIPT=tools/ci/ci_wptrunner_infrastructure.sh |
| addons: |
| apt: |
| packages: |
| - libnss3-tools |
| - libappindicator1 |
| - fonts-liberation |
| exclude: |
| - env: # exclude empty env from the top-level above |
| allow_failures: |
| - env: JOB=build_css SCRIPT=css/build-css-testsuites.sh |
| - env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=firefox:nightly |
| - env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev |
| script: |
| - ./tools/ci/run.sh |
| cache: |
| directories: |
| - $HOME/.cache/pip |
| - $HOME/meta |
| notifications: |
| email: |
| on_success: never |
| on_failure: always |