The goal of this issue is to fix the bug that when a core Piwik version is specified in a plugin and this core version does not exist yet (eg.
4.0.0), then Piwik runs very slow (at least during tests). We expect that Piwik behaves still the same independently of the required core versions.
Yesterday our builds started failing due to timing out. See here:
I wrote email to Travis support as I was sure it was infrastructure problem, but as usual, it was a bug in the code. ;-) at first we got super confused as we looked at the wrong commit (N-1 instead of N). After that with matt we looked again and it was worked around in commit: https://github.com/piwik/plugin-CustomAlerts/commit/0e88064463795093551c9ddbea6ff20c7c1ece80 then the build behaved again.
For the record in the plugin I required a version that doesn't exist. The reason is that
2.10.0 is not compatible, I needed dev-master (but we don't support such constraint in
plugin.json) so I opted for
2.11.0-b1. The commit to fix reverts to
2.10.0 even though that version constraint is not correct.
You could try to disable the Marketplace in tests and see if it changes anything. Otherwise it is not good to require a Piwik version that is not released yet. Eg Piwik would notice there is a missing dependency and deactivate the plugin which can cause failing tests (at least the UI tests).
Maybe the piwik would have behaved better if the
Version.php already contained
2.11.0-b1 (even though the version was not released yet.). I changed the version in: https://github.com/piwik/piwik/commit/52c93bb14223d6f34f8fffd109e74d718641c378 and will now try to revert https://github.com/piwik/plugin-CustomAlerts/commit/0e88064463795093551c9ddbea6ff20c7c1ece80 and see if the build is working.
edit: this build https://travis-ci.org/piwik/piwik-ui-tests/builds/46155835
This is not good but what would be the good way?
Increase Piwik version
I can confirm that it works to require
2.11.0-b1 and then set this version number in core/Version.php
we don't need to create a tag. so maybe this is acceptable solution.
I think it is not only an acceptable but also the correct solution. If you have changes in Piwik that changes the API then you increase the version number.
Conclusion is: when we set a Piwik require version then we must set this version in
core/Version.php - makes sense, but it wasn't clear before. Maybe we should write this somewhere...