Page MenuHomePhabricator

Test compatibility of developer requirements alongside production
Open, HighPublic

Description

Our current CI does not check that developer requirements don't conflict properly. Only production ones. We should fix this as it led to a release being made that shouldn't have been.

Details

Security
None

Event Timeline

I'm not sure about extending this to the whole of compatibility.txt but we should at least do this for our package.

These should be the production ones checked on plugins:

sopel-help==0.1.0
sopel-modules.quotes==1.2.1
sopel-modules.twitter==0.3.2
sopel-modules.weather==1.2.2
sopel-modules.youtube==0.4.0
sopel-modules.stocks==1.1.3
sopel-modules.chanlogs==0.2.1
sopel-modules.github==0.4.1
sopel-modules.wolfram==0.5.0
sopel-modules.urban==1.1.0
sopel-plugins.adminlist==1.0.5
sopel-plugins.pingpong==1.0.4
sopel-plugins.joinall==1.0.2
pipdeptree==2.0.0
MirahezeBot-Plugins==9.1.0

and are on

I'm deploying the production checks to all repos. We still need to sort out developer dependencies.

I've also asked @MacFan4000 to deploy 9.1.1 of core to fix the current issues.

Looks like we should update requirements to include tests as an extra and follow https://stackoverflow.com/questions/29870629/pip-install-test-dependencies-for-tox-from-setup-py to make compatibility test that.

My concern isn't the dev branch, it's releases. We need to work out a way so all current releases have the compatible test dependencies. If we turn this off on the dev branch and only check at release then that's fine.

We can't have CI on the release branch failing.

What happened here is that a dependancy moved from test to prod and that's caused an inconsistency that wasn't monitored.

Production is already well tested for dependancy management on multiple levels but what we need to consider is how to manage where existing developer dependancies are changed.