Container Workflow Tool
=======================
[![Docker Repository on Quay](https://quay.io/repository/rhscl/cwt-generator/status "Docker Repository on Quay")](https://quay.io/repository/rhscl/cwt-generator)
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](https://quay.io/repository/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:
```bash
make test-in-container
```
Raw data
{
"_id": null,
"home_page": "https://github.com/sclorg/container-workflow-tool",
"name": "container-workflow-tool",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "tool, containers, images, automate, workflow",
"author": "Petr Kubat",
"author_email": "pkubat@redhat.com",
"download_url": "https://files.pythonhosted.org/packages/2e/cd/96fce464fa6f6251bf75d67d33f1c8dcc71fdb3db63c02dfd3887ee760db/container-workflow-tool-1.5.6.tar.gz",
"platform": null,
"description": "Container Workflow Tool\n=======================\n[![Docker Repository on Quay](https://quay.io/repository/rhscl/cwt-generator/status \"Docker Repository on Quay\")](https://quay.io/repository/rhscl/cwt-generator)\n\n\nA python3 tool to make rebuilding container images easier by automating several steps of the process.\n\nMotivation\n----------\n\nThe actual rebuild of container images consists of several steps that have been so far done manually. Some of these steps are:\n\n * **Rebase against upstream repository**\n * **Check the changes made by the rebase**\n * **Push the changes into dist-git and run the build**\n\nAll 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.\n\nRequirements\n------------\n\n* python3\n* python3-GitPython\n* python3-requests-kerberos\n* fedpkg\n\nOptions\n-------\n\n```\nusage: cwt [options] command\n Command:\n koji - List builds, base images, hash ids\n build - Command for building images\n git - Work with upstream/downstream git repositories\n utils - Other actions tied to the rebuild (communication, repository preparation etc.)\n\n Options:\n -v, --verbosity - Verbosity level, 1 (Critical only) - 5 (Debug messages), default 4 (Info)\n --base - Specific base image release, required for some actions\n --clear-cache - Clears tmp dir before running the command\n --latest-release - Work with latest brew builds by release value\n --config - Overrides default configuration file, expects the name of file a inside the config folder, optionally takes image_set argument\n example usage: --config default.yaml:fedora27\n --do-image - Use a custom set of images instead of all from the config (use dist-git names)\n --exclude-image - Exclude an image from the list of images defined by config (use dist-git names)\n --do-set - Use a specific set of images instead of all from the config (use dist-git names)\n --tmp - Overrides default temporary working directory\n --disable-klist - Disables getting kerberos token by klist\n```\n\nTo get the usage of a specific command, you can run:\n\n cwt command --help\n\ncontainer-workflow-tool in the quay.io registry\n-----------------------------------------------\n`container-workflow-tool` is automatically built and pushed in\n[quay.io/rhscl/cwt-generator](https://quay.io/repository/rhscl/cwt-generator) as soon as changes\nare merged into `master` branch.\n\nTest\n----\nThis repository also contains test suites for python's `unittest` framework that check the basic functionality of cwt.\nThese test can be run directly from the repository's root via Makefile:\n\n make test\n\nIf you do not need to run all of the test cases provided you can run a module-specific subset like this:\n\n make test_distgit\n\nIf you want to run all the test cases in container, run it like this:\n\n```bash\nmake test-in-container\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A python3 tool to make rebuilding images easier by automating several steps of the process.",
"version": "1.5.6",
"project_urls": {
"Homepage": "https://github.com/sclorg/container-workflow-tool"
},
"split_keywords": [
"tool",
" containers",
" images",
" automate",
" workflow"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6db875ad19df241aad629734bf80f6b22533793a0d4596d24ae39eb7587984d0",
"md5": "a1725e12fadd6ae9c67b68f9adad5562",
"sha256": "a485aa06c777b301d41b01d3f293a861c89d6fd45f67e2f2b41b2907df614a4b"
},
"downloads": -1,
"filename": "container_workflow_tool-1.5.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a1725e12fadd6ae9c67b68f9adad5562",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 43889,
"upload_time": "2024-03-26T08:12:06",
"upload_time_iso_8601": "2024-03-26T08:12:06.474947Z",
"url": "https://files.pythonhosted.org/packages/6d/b8/75ad19df241aad629734bf80f6b22533793a0d4596d24ae39eb7587984d0/container_workflow_tool-1.5.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2ecd96fce464fa6f6251bf75d67d33f1c8dcc71fdb3db63c02dfd3887ee760db",
"md5": "1c017ee238a9700900d6bb804df26ea6",
"sha256": "a30cbb6ecb65a72f191ff9a075c87564c15187ca5913e7c543e07b1679ef37e5"
},
"downloads": -1,
"filename": "container-workflow-tool-1.5.6.tar.gz",
"has_sig": false,
"md5_digest": "1c017ee238a9700900d6bb804df26ea6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34127,
"upload_time": "2024-03-26T08:12:08",
"upload_time_iso_8601": "2024-03-26T08:12:08.130567Z",
"url": "https://files.pythonhosted.org/packages/2e/cd/96fce464fa6f6251bf75d67d33f1c8dcc71fdb3db63c02dfd3887ee760db/container-workflow-tool-1.5.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-26 08:12:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sclorg",
"github_project": "container-workflow-tool",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "PyYAML",
"specs": []
},
{
"name": "GitPython",
"specs": []
},
{
"name": "requests-kerberos",
"specs": []
}
],
"lcname": "container-workflow-tool"
}