Skip to main content

deploy CI results to git

Project description

cico

Build Status PyPI License

deploy CI results to git

cico commits artefacts generated by a CI enviroinment to a Git results branch.

For each tested branch a directory in the results branch gets created.

  • tested branch: The branch you commited an is checked out by the CI tool
  • results branch: The branch where your results should be deployed
    • can be in a different repository than the tested branch

Installation

$ pip install cico

Usage

deploy.py

from cico import TravisCI
from cico.results import Directory, File, Badge

TravisCI(
    repo = GitHub(USERNAME,   # GitHub Username (e.g. 'stefanhoelzl')
                  REPO_NAME,  # GitHub Repository (e.g. 'ci-results')
                  TOKEN),     # GitHub Personal access tokens
                              # ONLY ENCRYPTED (https://docs.travis-ci.com/user/environment-variables/#Defining-encrypted-variables-in-.travis.yml)
    branch = RESULT_BRANCH,   # Git Branch with the results (e.g. 'cico-testing')
    results = [
        # Deploy file 'testresults.tap' into folder 'tap' (destination is optional)
        File("testresults.tap", destination="tap"),

        # Deploy file 'wrong_name.tap' as 'correct_name.tap' (rename is optional)
        File("wrong_name.txt", rename="correct_name.txt"),

        # Deploy directory 'covhtml' into folder 'coverage' (desitnation is optional)
        Directory("covhtml", destination="coverage"),

        # Create a Badge with the label "My Badge" and value "96" as mybadge.svg and mybadge.png
        # (png is optional) in the directory 'badges'
        Badge("badges/mybadge", png=True, label="My Badge", value=96,
              **anybadge_arguments),  # https://github.com/jongracecox/anybadge
    ]
).commit(
    # commit message (optional)
    # {build} gets replaced by build number
    # {branch} gets replaced by name of tested branch
    message="build {build} on branch {branch}",

    # perform 'git push' even if not executed in CI environment (default=False)
    no_ci_push=True
)

.travis.yml with after_script section

after_script:
  - python deploy.py

.travis.yml with deploy section

deploy:
  provider: script
  skip_cleanup: true  # prevent TravisCI from cleaning up the files you want to deploy
  script: python deploy.py

directory structure afterwards in branch cico-testing of the repository ci-results

+-- master
    o-- correct_name.txt
    +-- tap
    |   o-- testresults.tap
    +-- covhtml
    |   +-- <all contents of covhtml in the tested branch>
    +-- badges
        o-- mybadge.svg
        o-- mybadge.png

Project details


Download files

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

Files for cico, version 0.1.8
Filename, size File type Python version Upload date Hashes
Filename, size cico-0.1.8-py3-none-any.whl (5.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size cico-0.1.8.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page