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.
Description
Details
- Security
- None
Status | Assigned | Task | ||
---|---|---|---|---|
Open | None | T150 Write some coding conventions and guidelines on liniting | ||
Open | None | T152 Release Version 10 (last version not a 'bundle') | ||
Open | None | T211 Test compatibility of developer requirements alongside production |
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
- channelmgnt
- joinall - https://github.com/MirahezeBots/sopel-joinall/pull/7
- adminlist
- pingpong
- jsonparser
I'm deploying the production checks to all repos. We still need to sort out developer dependencies.
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.