Skip to main content

A python3 tool to make rebuilding images easier by automating several steps of the process.

Project description

Container Workflow Tool

Docker Repository on Quay

A python3 tool to make rebuilding container images easier by automating several steps of the process.

Motivation

The actual rebuild of container images consists of several steps that have been so far done manually. Some of these steps are:

  • Rebase against upstream repository
  • Check the changes made by the rebase
  • Push the changes into dist-git and run the build

All of the steps are currently automated or semi-automated by cwt (but still need to be manually started). This should help a bit with the image rebuild workflow.

Requirements

  • python3
  • python3-GitPython
  • python3-requests-kerberos
  • fedpkg

Options

usage: cwt [options] command
    Command:
        koji            - List builds, base images, hash ids
        build           - Command for building images
        git             - Work with upstream/downstream git repositories
        utils           - Other actions tied to the rebuild (communication, repository preparation etc.)

    Options:
        -v, --verbosity      - Verbosity level, 1 (Critical only) - 5 (Debug messages), default 4 (Info)
        --base               - Specific base image release, required for some actions
        --clear-cache        - Clears tmp dir before running the command
        --latest-release     - Work with latest brew builds by release value
        --config             - Overrides default configuration file, expects the name of file a inside the config folder, optionally takes image_set argument
                               example usage: --config default.yaml:fedora27
        --do-image           - Use a custom set of images instead of all from the config (use dist-git names)
        --exclude-image      - Exclude an image from the list of images defined by config (use dist-git names)
        --do-set             - Use a specific set of images instead of all from the config (use dist-git names)
        --tmp                - Overrides default temporary working directory
        --disable-klist      - Disables getting kerberos token by klist

To get the usage of a specific command, you can run:

cwt command --help

container-workflow-tool in the quay.io registry

container-workflow-tool is automatically built and pushed in quay.io/rhscl/cwt-generator as soon as changes are merged into master branch.

Test

This repository also contains test suites for python's unittest framework that check the basic functionality of cwt. These test can be run directly from the repository's root via Makefile:

make test

If you do not need to run all of the test cases provided you can run a module-specific subset like this:

make test_distgit

If you want to run all the test cases in container, run it like this:

make test-in-container

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

container_workflow_tool-1.5.8.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

container_workflow_tool-1.5.8-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file container_workflow_tool-1.5.8.tar.gz.

File metadata

File hashes

Hashes for container_workflow_tool-1.5.8.tar.gz
Algorithm Hash digest
SHA256 9b080b4dbee9b06fa58e88aa9ac9ccc197d53c3817765aceff2e9fcb029f3fdc
MD5 899a79cf86352c6e871488656e722f68
BLAKE2b-256 a5e518f3cf905bc67640a9d0de297b22c011ca71364a6141947f7480d0fe228a

See more details on using hashes here.

File details

Details for the file container_workflow_tool-1.5.8-py3-none-any.whl.

File metadata

File hashes

Hashes for container_workflow_tool-1.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 2ef1f87063e43f360f169f1f29f0253f2aa5dcfe66a3b16405c9e956d6ffe9ca
MD5 5ab557889a5f3cbd9d28cf55032b9ad2
BLAKE2b-256 4e424f10edf296e8be17a938f41928e0bdd5f19f4a8d8d78f54213d97ccce5f7

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