Guys,
Last week we’ve had a deprecation-fixing day. I was worried about one thing and it seems
it happened unfortunately. My worry was about breaking the build and introducing
regressions.
I’ve just started testing XE very quickly and I’ve noticed in the course of few minutes 2
regressions already :(
* Regression 1: CSRF issue leading to a NPE when you execute XE. This wasn’t noticed for a
full week! Correction was done today by GuillaumeD after I reported it
(see
https://github.com/xwiki/xwiki-platform/commit/bd007f28ee8c079d481c49455ceb…).
Caused
by
https://github.com/xwiki/xwiki-platform/commit/77ebad8c6390dc4389d2de690ab5…
* Regression 2: Incude macro doesn’t work anymore when using the “document” parameter. The
problem is that we’re still using that.. For example in Panels.NewPage: {{include
document="Panels.PanelSheet"/}}. I’ve just fixed it
in
https://github.com/xwiki/xwiki-platform/compare/09528b3e668a...4c2da3bf843b and
https://github.com/xwiki/xwiki-enterprise/compare/96b63c62a637...7e8188d568… .
Caused by
https://github.com/xwiki/xwiki-platform/commit/ade4046 (caused by me!! yuck!).
There are possibly more issues that we haven’t discovered yet.
Thus IMO we have 2 problems here:
* Fixing deprecation is something dangerous and if we don’t have automated tests for them
we won’t notice regressions
* We’re all not monitoring the build enough since this breakage has been lasting for 1
week. However this may be a consequence of the jenkins stability issue we’re currently
experiencing.
I’m not sure what we can to mitigate the risks but we need to think about something for
the next time we’ll a Deprecation Fixing Day.
Maybe we should only issue Pull Requests for that day and force that a committer doesn’t
push the change himself and instead some other dev would need to review the code before
pushing it?
Any idea?
Thanks
-Vincent
PS: Obviously the real solution is to have a stronger automated test suite but that
doesn’t happen overnight and we currently don’t have a strategy for catching up with
missing tests...