Package: codeship-yaml
YAML configuration file support forCodeship.Syntax CompatibilityTravis CIShippableBackgroundMany continuous integration services support YAML configuration files in order
to support theinfrastructure as codeparadigm.  Codeship, though one of the
most appealing platforms, is missing this feature.  You have to add commands
regarding setup, testing and deployment in your Codeship project settings.
This has various disadvantages, but even thoughusers are complainingCodeship is not planning to address the issue on its traditional build server
infrastructure.  (Only Codeship’s new Docker-based infrastructure will finally
make you more happy.)UsageCreate acodeship.ymlfile in your repository at root level.  The syntax
is inspired byTravis CIandShippable, though only limited features are
supported.  Example:install:-pip install flake8before_script:-touch codeship-yaml-was-herescript:-flake8after_success:-echo "Now we can deploy"To make Codeship read and interpret yourcodeship.ymlfile, and execute
the commands in it add the following lines in theSetup Commandstext box
atCodeship>Select Project…>(your project),Project Settings>Test Settings.pipinstallcodeship-yamlcodeship-yamlThis will makecodeship-yamlexecute the commands you specified in the
default sections in the following section order:installbefore_scriptscriptafter_successMore ControlIf you want more control over which sections are executed you can specify the
requested section as a parameter.  For example, you could add the following
commands into the below-mentioned text boxes of your Codeship project:Project Settings>Test Settings>Setup Commandspip install codeship-yaml
codeship-yaml installProject Settings>Test Settings>Test Commandscodeship-yaml before_script scriptProject Settings>Deployment>(branch name)codeship-yaml after_successAdding custom sections, other than the default ones, to yourcodeship.ymlfile is possible but discouraged (to avoid losing similarity with other build
platforms).  If you want an additional section, which is established on other
platforms already, please consider placing apull request.Python 3The build image of Codeship Basic runsPython 2.7 by default, but versions
3.4 through 3.7 are also installed. Codeship requires you to activate them
usingpyenv. Python is not Codeship’s main expertise though, so expect a
bumpy ride. Activating Python versions could be made easier. Sad story.To make all Python versions available in parallel add the following command
to the top of yourProject Settings>Setup Commandson Codeship:pyenv global 2.7 3.4 3.5 3.6 3.7ContributeFor development we usetox, which handles both static code analysis and
tests for all supported Python versions.$pipinstalltoxAfter making your code changes don’t forget to add tests, and simply run:$toxWhen you place apull requestall tests are run on the build server
infrastructure ofCodeship,Travis CIandShippableagain. Please
check if they all pass to ensure the syntax stays compatible across the
different build infrastructures.To remove all build files and folders including Python byte code you can run:$tox-ecleanCreditsThis project is brought to you byPainless Software, a best-practice
consultancy in software development.  Less pain, more fun.A big, massive“Thank you!”to all contributors:Dave Allie(sectioning and coloring of
command output)