Skip to content

Commit

Permalink
Drastically reduce the number of builds that are made with Travis
Browse files Browse the repository at this point in the history
Based on research in https://github.com/npr/pmp-php-sdk/issues/36,
Travis CI runs tests using the following PHPUnit versions:

- PHP 5.6: PHPUnit 5.7.23
- PHP 7: PHPUnit 6.4.3
- PHP 7.1: PHPUnit 6.4.3
- PHP 7.2: PHPUnit 7.0.2

This commit reduces the number of tests that are run by more than
two thirds. Before, we were running 4 different PHP versions and
11 diffferent WordPress versions. Many of those combinations were
incompatible, for different reasons:

1. There are PHP warnings about deprecated PHP-4-style
   constructors.
2. Requires PHPUnit 5 because PHPUnit 6 support was not
   included until WordPress 4.7.
3. Unless there's been an update since
   [this trac thread](https://core.trac.wordpress.org/ticket/39822),
   WordPress tests still assume PHPUnit 6, and Travis runs PHP 7.2
   tests with PHPUnit 7

| phpunit | 5.7 | 6.4 | 6.4 | 7.0 |                 |                  |
| php     | 5.6 | 7.0 | 7.1 | 7.2 |                 |                  |
| WP      |     |     |     |     | wp release year | then-current php |
|---------|-----|-----|-----|-----|-----------------|------------------|
| 3.8     |     | 1   | 1   | 1   | 2013            |                  |
| 3.9     |     | 1   | 1   | 1   | 2014            | 5.5              |
| 4.0     |     | 1   | 1   | 1   | 2014            | 5.5              |
| 4.1     |     | 1   | 1   | 1   | 2014            | 5.5              |
| 4.2     |     | 2   | 2   | 2   | 2015            | 5.6              |
| 4.3     |     | 2   | 2   | 2   | 2015            | 5.6              |
| 4.4     |     | 2   | 2   | 2   | 2015            | 7.0              |
| 4.5     |     | 2   | 2   | 2   | 2016            | 7.0              |
| 4.6     |     | 2   | 2   | 2   | 2016            | 7.0              |
| 4.7     |     |     |     | 3   | 2016            | 7.1              |
| 4.8     |     |     |     | 3   | 2017            | 7.1              |
| 4.9     |     |     |     | 3   | 2017            | 7.2              |

Accordingly, this commit removes PHP 7.2 from tests, and replaces the
separate lists of PHP and WordPress versions with one list of selected
PHP and WordPress versions.
  • Loading branch information
benlk committed Mar 20, 2018
1 parent 649f683 commit 09d72a8
Showing 1 changed file with 57 additions and 18 deletions.
75 changes: 57 additions & 18 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,65 @@ sudo: false
language: php

# PHP versions
php:
- "5.6"
- "7.0"
- "7.1"
- "7.2"
# php:
# - "5.6"
# - "7.0"
# - "7.1"
# - "7.2"

# WordPress versions
env:
- WP_VERSION=3.8 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=3.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.2 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.3 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.4 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.5 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.6 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.7 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.8 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# env:
# - WP_VERSION=3.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.2 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.3 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.4 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.5 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.6 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.7 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.8 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# - WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress

# for a breakdown of why these versions were chosen, see https://github.com/INN/WP-DS-NPR-API/issues/12#issuecomment-374730094
matrix:
include:
- php: 5.6
env: WP_VERSION=3.8 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=3.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.2 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.3 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.4 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.5 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.6 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.7 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.8 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 5.6
env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.0
env: WP_VERSION=4.7 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.0
env: WP_VERSION=4.8 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.0
env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.1
env: WP_VERSION=4.7 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.1
env: WP_VERSION=4.8 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.1
env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress

branches:
only:
Expand Down

0 comments on commit 09d72a8

Please sign in to comment.