Skip to main content

YAML configuration file support for Codeship.

Project description

Build status Code health Python versions Software license Gitter chat room

YAML configuration file support for Codeship.

Syntax Compatibility

Travis CI

Build status

Shippable

Build status

VexorCI

Build status

Background

Many continuous integration services support YAML configuration files in order to support the infrastructure as code paradigm. 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 though users are complaining Codeship 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.)

Usage

Create a codeship.yml file in your repository at root level. The syntax is inspired by Travis CI and Shippable, though only limited features are supported. Example:

install:
  - pip install flake8
before_script:
  - touch codeship-yaml-was-here
script:
  - flake8
after_success:
  - echo "Now we can deploy"

To make Codeship read and interpret your codeship.yml file, and execute the commands in it add the following lines in the Setup Commands text box at Codeship > Select Project… > (your project), Project Settings > Test Settings.

pip install codeship-yaml
codeship-yaml

This will make codeship-yaml execute the commands you specified in the default sections in the following section order:

  1. install

  2. before_script

  3. script

  4. after_success

More Control

If 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 Commands

pip install codeship-yaml
codeship-yaml install

Project Settings > Test Settings > Test Commands

codeship-yaml before_script script

Project Settings > Deployment > (branch name)

codeship-yaml after_success

Adding custom sections, other than the default ones, to your codeship.yml file 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 a pull request.

Python 3

The build image of Codeship Basic runs Python 2.7 by default, but versions 3.4 through 3.7 are also installed. Codeship requires you to activate them using pyenv. Python is not Codeship’s main expertise though, so expect a bumpy ride. Activating Python version could be made easier. Sad story.

Contribute

For development we use tox, which handles both static code analysis and tests for all supported Python versions.

$ pip install tox

After making your code changes don’t forget to add tests, and simply run:

$ tox

When you place a pull request all tests are run on the build server infrastructure of Codeship, Travis CI, Shippable and Vexor again. 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:

$ python setup.py clean

Credits

This project is brought to you by Painless 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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codeship-yaml-0.3.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distributions

codeship_yaml-0.3.0-py3.7.egg (8.0 kB view details)

Uploaded Source

codeship_yaml-0.3.0-py3.6.egg (8.0 kB view details)

Uploaded Source

codeship_yaml-0.3.0-py3.5.egg (8.0 kB view details)

Uploaded Source

codeship_yaml-0.3.0-py3.4.egg (8.0 kB view details)

Uploaded Source

codeship_yaml-0.3.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

codeship_yaml-0.3.0-py2.7.egg (7.9 kB view details)

Uploaded Source

codeship_yaml-0.3.0-py2-none-any.whl (18.1 kB view details)

Uploaded Python 2

File details

Details for the file codeship-yaml-0.3.0.tar.gz.

File metadata

  • Download URL: codeship-yaml-0.3.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.14

File hashes

Hashes for codeship-yaml-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1d47a279497d95c09081988c39aa2c67499f80b69a781a1e83c2930c9ae22667
MD5 19f08a8eb012f43b7559ab36ae3ef579
BLAKE2b-256 b930ae086d0f438463929caea28ccb8f9d0639cdd73fc3c679028ac9675364e5

See more details on using hashes here.

File details

Details for the file codeship_yaml-0.3.0-py3.7.egg.

File metadata

  • Download URL: codeship_yaml-0.3.0-py3.7.egg
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0

File hashes

Hashes for codeship_yaml-0.3.0-py3.7.egg
Algorithm Hash digest
SHA256 e48279aa93e215f1754fffa105acee5bd8f2b8c1422fd44dfa33a0ea9226f959
MD5 7e515f25a7a64c0e6559418378e60829
BLAKE2b-256 fb4c4fbdd9bff6310336744fc1dbc51f30b30bb17f26ead6033a9ee1327f2a48

See more details on using hashes here.

File details

Details for the file codeship_yaml-0.3.0-py3.6.egg.

File metadata

  • Download URL: codeship_yaml-0.3.0-py3.6.egg
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0

File hashes

Hashes for codeship_yaml-0.3.0-py3.6.egg
Algorithm Hash digest
SHA256 c1819cbf15edfe48d7331c285c47aefa50a0add2ed689cd1e61588228e509056
MD5 653238a90a919cbd356ccdaa56fe5246
BLAKE2b-256 91fef75b5ed4324a0b446b5de1162b6ee54979bc2b14af355c58aaab005a7c62

See more details on using hashes here.

File details

Details for the file codeship_yaml-0.3.0-py3.5.egg.

File metadata

  • Download URL: codeship_yaml-0.3.0-py3.5.egg
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0

File hashes

Hashes for codeship_yaml-0.3.0-py3.5.egg
Algorithm Hash digest
SHA256 d207d1fe21d64fe854c3e09c212c2354abaec81577c88fb82408f18ea4b18eee
MD5 ca932ad078f514fb306aa5c3cb81b474
BLAKE2b-256 cce86e43cc3ead9e19fbe7cd57e417cf94ac8a044a49e76e144b3a03a7311386

See more details on using hashes here.

File details

Details for the file codeship_yaml-0.3.0-py3.4.egg.

File metadata

  • Download URL: codeship_yaml-0.3.0-py3.4.egg
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0

File hashes

Hashes for codeship_yaml-0.3.0-py3.4.egg
Algorithm Hash digest
SHA256 557de2ab5e0a7665644317abd6fe638c7650e6a7a6f11310fbd0369fb85f251d
MD5 221cc1fb79109f65c72f316e7b363a79
BLAKE2b-256 803516b7e4c2eda62dea2e8b87c94aeb12319813f582e6fdcd4f9faec4c30380

See more details on using hashes here.

File details

Details for the file codeship_yaml-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: codeship_yaml-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0a4+

File hashes

Hashes for codeship_yaml-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89805a25cd94ff73ac1442800162489925e92b410927628c560425c777d73479
MD5 9aeed3042548d87131be5927501e9dfd
BLAKE2b-256 47367b1e73b690d035e38fa98608fed4673a0ee0c48e0d87d84c6ca930d1d48e

See more details on using hashes here.

File details

Details for the file codeship_yaml-0.3.0-py2.7.egg.

File metadata

  • Download URL: codeship_yaml-0.3.0-py2.7.egg
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0

File hashes

Hashes for codeship_yaml-0.3.0-py2.7.egg
Algorithm Hash digest
SHA256 a73d36e0c08e59060a1c7241033938ac27b528179e6aa579debb847b73013d53
MD5 3740510de8ccf2efb93c6a546831d3f4
BLAKE2b-256 20483036968ece192455563d36b300684cf1ace3c0456bc9496b4acc14f10e7b

See more details on using hashes here.

File details

Details for the file codeship_yaml-0.3.0-py2-none-any.whl.

File metadata

  • Download URL: codeship_yaml-0.3.0-py2-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.14

File hashes

Hashes for codeship_yaml-0.3.0-py2-none-any.whl
Algorithm Hash digest
SHA256 4450130ff743ae0e9660b04967d0f941987a8d3684ad4e9469d2a5def5bb340e
MD5 2b8001394eadcba5d4cbd88fe9a833c7
BLAKE2b-256 7f82f840d92e96201f6cac2490c88edb02ce287782a1474dd793e0264029816f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page