We currently have a system set up so both Piwik core and plugins can be tested on Travis-CI. The system allows testing plugins against different Piwik versions and autoupdates so plugin builds are kept up to date. This unfortunately causes problems when testing against different versions of Piwik simultaneously. Older versions of Piwik will expect different behavior from the .travis.yml script, and this can't be changed from within a build.
To fix this, the travis system must be extracted into a separate repository. The repository will have branches/tags for each release of Piwik. In travis, the specific branch of the travis system will be checked out and the scripts run. This way the build will always function even as the travis system is changed. And we can patch older versions as needed.
TODO: - [ ] Move as much of .travis.yml behavior to PHP scripts. (NOTE: This may make the travis console less readable since separate commands will be put together. The new scripts should try to make the output as clear as possible.) Some task manager similar to rake might be useful. - [x] Create new repository and move travis scripts to it. Create submodule in Piwik. - [ ] Create branches for older supported 2.X versions. - [x] Modify .travis.yml to checkout correct submodule in travis. - [x] Get all plugin builds to pass.
Moving to 3.0 since the important pieces have been merged.
Created follow up issue: travis.yml should auto update less often #8562
This issue is now fixed, well done @diosmosis :+1: