Easy Workflow Manager 0.0.14 | GitLocker.com Product

easy-workflow-manager 0.0.14

Last updated:

0 purchases

easy-workflow-manager 0.0.14 Image
easy-workflow-manager 0.0.14 Images

Free

Languages

Categories

Add to Cart

Description:

easyworkflowmanager 0.0.14

Install
Install with pip
% pip3 install easy-workflow-manager
After running for the first time, the default settings file is copied to
~/.config/easy-workflow-manager/settings.ini
[default]
QA_BRANCHES = qa, qa2, qa3, qa4
IGNORE_BRANCHES = master, develop, release, uat
LOCAL_BRANCH = mylocalprep
SOURCE_BRANCH = master


Understanding
To understand how you might make use of this project, check out some of
the test helper functions and test code, then the scripts

tests/__init__.py overrwites some settings for QA_BRANCHES
and SOURCE_BRANCH and defines several functions that execute
git commands, with the help of bg_helper.run

make_file to create a file using echo and output
redirection
append_to_file to append to a file using echo and output
redirection
change_file_line to change a line of a file using sed
init_clone_cd_repo to create a git repo at remote_path,
clone it to local_path, and cd to local_path

also creates a file, commits it, and pushes to origin


checkout_branch to checkout an existing branch
add_commit_push to add modified files, commit, and push
deploy_merge_tag to deploy a branch to an open qa environment,
merge back to source, then tag

this makes heavy use of some high-level
easy_workflow_manager functions

get_empty_qa
get_remote_branches
deploy_to_qa
get_qa_env_branches
merge_qa_to_source
tag_release
get_tag_message






tests/conftest.py defines a single “fixture” that creates a new
folder in /tmp to contain a new “remote git repository” and its
“local clone” per defined test class

the fixture yields to let the methods of the test class run before
deleting the temporary data

this would be a good place to drop a pytest.set_trace() if
you want to inspect temporary repos and their commits




tests/test_stuff.py defines two test classes with some test
methods

TestNewRepo.test_remote_branches to make sure the only remote
branch is master, create 3 new branches, confirm that various
invocations of ewm.get_remote_branches() return what you’d
expect
TestNewRepo.test_local_branches to confirm that various
invocations of ewm.get_local_branches() return what you’d
expect
TestNewRepo.test_qa to confirm that no qa branches are in use
and that ewm.get_empty_qa() returns the set of the overwritten
QA_BRANCHES, then use the helper functions to append to a
file, commit the changes, push to the remote

then check that ewm.deploy_to_qa() gets the specified
branch(es) onto the specified qa branch
then check that ewm.clear_qa() clears the specified qa
branch


TestNewRepo.test_change_commit_push() to update a file

then check that ewm.get_merged_remote_branches() does not
include the branch that was just updated


TestNewRepo.test_tagging() to check that merging a branch to
source and tagging it works





Commands / scripts
$ venv/bin/ewm-new-branch-from-source --help
Usage: ewm-new-branch-from-source [OPTIONS] [NAME]

Create a new branch from SOURCE_BRANCH on origin

Options:
--help Show this message and exit.


$ venv/bin/ewm-deploy-to-qa --help
Usage: ewm-deploy-to-qa [OPTIONS] [QA]

Select remote branch(es) to deploy to specified QA branch

Options:
-g, --grep TEXT case-insensitive grep pattern to filter branch names by
--help Show this message and exit.


$ venv/bin/ewm-qa-to-source --help
Usage: ewm-qa-to-source [OPTIONS] [QA]

Merge the QA-verified code to SOURCE_BRANCH and delete merged branch(es)

Options:
--help Show this message and exit.


$ venv/bin/ewm-show-qa --help
Usage: ewm-show-qa [OPTIONS] [QA]

Show what is in a specific (or all) qa branch(es)

Options:
-a, --all Select all qa environments
--help Show this message and exit.


$ venv/bin/ewm-clear-qa --help
Usage: ewm-clear-qa [OPTIONS] [QA]

Clear whatever is in a specific (or all) qa branch(es)

Options:
-a, --all Select all qa environments
--help Show this message and exit.


$ venv/bin/ewm-tag-release --help
Usage: ewm-tag-release [OPTIONS]

Select a recent remote commit on SOURCE_BRANCH to tag

Options:
--help Show this message and exit.


Running Tests
Clone this repo then run the ./dev-setup.bash script to create a
virtual environment that includes pytest
% ./dev-setup.bash
Run pytest with the -v an -s options to tests invoked as well as
all the generated git commands and their output
% venv/bin/pytest -vs


Resources

https://git-scm.com/book/en/v2

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product: (if this is empty don't purchase this product)

Customer Reviews

There are no reviews.