blob: 8d4152f0285cd0c2e03a4e7fc411a29f15a0f5f5 [file] [log] [blame]
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