
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
easy-workflow-manager
Advanced tools
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
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
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
pytest.set_trace()
if
you want to inspect temporary repos and their commitstests/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
ewm.deploy_to_qa()
gets the specified
branch(es) onto the specified qa branchewm.clear_qa()
clears the specified qa
branchTestNewRepo.test_change_commit_push()
to update a file
ewm.get_merged_remote_branches()
does not
include the branch that was just updatedTestNewRepo.test_tagging()
to check that merging a branch to
source and tagging it works
::
$ 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.
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
FAQs
Tools to support a straightforward branch/qa/merge/release process
We found that easy-workflow-manager demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.