Allow skipping Codeship tests using commit messages

Description

Occasionally we find ourselves needing to deploy to staging quickly, and we know the pending changes are covered by any part of the test suite, so we don't really want to wait a few hours for Codeship to run all the tests (e.g. RTE changes). Codeship lets you skip builds by including [skip ci] in the commit message, but that will skip the staging deploy as well.

We can update the Codeship scripts to skip just the setup and test pipelines when the commit message contains [skip codeship tests].

Along the way, some QoL updates:

  • Skip installing Redis 3.2.1, as Codeship's version is now later (4.0.9).

  • Skip installing MySQL 5.7.22, as Codeship's version is now later (5.7.27).

  • Use Codeship's script for installing and starting Elasticsearch.

  • Remove code for resetting coverage in the retry script, as we no longer generate coverage on Codeship.

  • Generate just the test database using rake db:create instead of rake db:create:all.

  • Split up prepare_codeship.sh. This script is run twice (once for specs, once for features) but most of it only needs to be run once (installing dependencies etc.).

  • Remove unused things from the script directory.

Environment

None

Status

Assignee

redsummernight

Reporter

redsummernight

Roadmap

Misc

Priority

Medium

Affects versions

Fix versions

Components

AutomatedTests

Difficulty

Medium

Required Access Level

None

Milestone

Internal 0.9
Configure