Page MenuHomePhabricator

Add CI to mediawiki/tools/train-dev
Closed, ResolvedPublic

Description

mediawiki/tools/train-dev lacks CI configuration, we should add some :)

https://gerrit.wikimedia.org/g/mediawiki/tools/train-dev/
https://gerrit.wikimedia.org/r/q/project:mediawiki/tools/train-dev

That seems to require booting a VM, Timo recently crafted a job that relies on QEmu and that might be an inspiration T250808

For shell scripts, we can add the shellcheck linter. SRE is adding it to operations/puppet ( T254480 ) and we could use a generic image/script for CI T148494

Conclusion

Starting with just shellcheck and flake8.

Event Timeline

Noting here that building train-dev currently needs more than just the VM, but also name lookups to be set up and probably other things.

For CI, this will need to be solved somehow. The easiest would be for train-dev building to only need Qemu.

Change 620950 had a related patch set uploaded (by Hashar; owner: Ahmon Dancy):
[mediawiki/tools/train-dev@master] Add ansible-lint to be run via tox

https://gerrit.wikimedia.org/r/620950

Change 625964 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] Add tox to mediawiki/tools/train-dev

https://gerrit.wikimedia.org/r/625964

I would prefer we NOT add CI for train-dev until we're ready. At the moment building train-dev will download some big files from my personal server, and if CI starts doing that, it's going to cost me too much. We'll want to move those files onto suitable WMF servers.

Point taken about files being downloaded from your personal server. That should not prevent us from adding at least the CI entry point (tox) and have it run some linters in the first place. When the dependencies with your personal server are lifted, surely we can then add some end to end test to ensure everything works fine ;]

Change 625964 merged by jenkins-bot:
[integration/config@master] Zuul: [mediawiki/tools/train-dev] Add initial CI, non-voting tox

https://gerrit.wikimedia.org/r/625964

Change 620950 abandoned by Hashar:
[mediawiki/tools/train-dev@master] Add ansible-lint to be run via tox

Reason:
I am giving up on that one.

https://gerrit.wikimedia.org/r/620950

Change 724103 had a related patch set uploaded (by Hashar; author: Ahmon Dancy):

[integration/config@master] Initial configuration for mediawiki/tools/train-dev tests

https://gerrit.wikimedia.org/r/724103

Change 724103 merged by jenkins-bot:

[integration/config@master] Initial configuration for mediawiki/tools/train-dev tests

https://gerrit.wikimedia.org/r/724103

hashar assigned this task to dancy.

The basic has been setup using tox, which was the intent of this task.

For a end to end test we would need a way some VM system but that is not easily available ( T283724 )

Reopening since the tox configuration change is still pending (sorry)

dancy updated the task description. (Show Details)