Cindy The Browser Test Bot

From Wikitech

Cindy is the browser test bot which runs browser tests for CirrusSearch extension. It is run on any patch against mediawiki/extensions/CirrusSearch repository and V+1 or V-1 the patch in Gerrit depending on the test results. It is based on Barry The Browser Test Bot.

The tests

The tests are located in tests/integration subdirectory in the CirrusSearch source. They can also be run manually by cloning the integration test runner repository and running:

./create-env.sh && ./run-integration.sh

The runner

The runner is found in search-platform/cirrus-integration-test-runner. This polls gerrit for patches to review, sets up a multi-wiki environment for each, and runs the integration test.

The bot

The bot is running on cirrus-integ03.search.eqiad1.wikimedia.cloud. In order to control it, after logging in, run:

sudo -u integration-bot tmux attach

Then you can run the bot with:

~/cirrus-integration-test-runner/run-cindy.sh

The bot should always be run from within the tmux session, this simplifies administration and ensures it keeps running after disconnect.

TODO: Could this be more reliable as a systemd unit?

Logs

Most logs are destroyed when the next test run starts. A record of the console output of the last integration test run for each tested patch is found in /tmp/cindy_run.<gerrit id>.log

Web Access

Access to the http site under test is done through SSH port forwarding. You may need to stop any local service using port 8080.

Connect like so: ssh -L 8080:localhost:8080 cirrus-integ03.search.eqiad1.wikimedia.cloud

And then visit cirrustestwiki.mediawiki.mwdd.localhost:8080.