Skip to main content

A DevOps automation tool for incrementing version numbers and git repo management

Project description

SourceAssist

GitHub Repo

Purpose

There is a lack of "smart" ways to deal with automated semantic versioning across various coding languages as well Docker and OCI containers. Microsoft's stack has a couple of tools that are able to extract git tags during compile time, completely. Not all languages support this defaultly, or is very disjointed. SourceAssit aims to solve 2 major problems: automatic sematic versioning increments, and building/repository management aid for DevOps pipelines. Some built in features include: building, tagging and version managament of docker containers with a configuation file that watches changes to dockerfiles. Automatic version increments given a list of files, commiting changes and pushing back to a remote.

Installation

Pip

pypi

pip install source-assist

Docker/OCI

ghcr

Docker-hub

docker pull projectinitiative/source-assist:latest
# OR
docker pull ghcr.io/projectinitiative/source-assist:latest

Usage

SourceAssist is mapped to sa once installed. sa --help will display all of the current subcommands present. Below is a brief overview of the included subcommands:

git

push: Push and changes and commits back to the remote the repo was originally pulled from. Typically used by a CI/CD agent such as Jenkins or GH actions.

version

get: Given a list of files, pull and print all the version numbers found. Possible use-case would be for build scripts or commit messages/tags that need to get the version numbers of one or multiple files.

bump: Given a list of files, search through and bump all of the version numbers by 1. Use the --docker flag to parse an json specific docker data files.

docker

build: Give a list of Docker JSON data files, build all containers and tag accordingly

NOTE: Future features include printing the template Docker data file, and pushing all images to the respective repositories with credentials.

Future Work

  • Robust credential management (cred stores, and password/ssh key/API token read in from STDIN)
    • More flexible Docker builds/versioning
  • Other container buildkits such as buildah and podman
  • Checking previous commit messages for specifc tags/strings to indicate if a commit was a build
  • Ability to provide custom version python parsing scripts
  • Add docker install and mounting instructions for building docker containers from within the docker container
  • Open to suggestions (Open an issue!)

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

Source Assist-0.3.4.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Source_Assist-0.3.4-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file Source Assist-0.3.4.tar.gz.

File metadata

  • Download URL: Source Assist-0.3.4.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for Source Assist-0.3.4.tar.gz
Algorithm Hash digest
SHA256 17e5cbd29156f27ff5bdb080fe9e43fa6a17cf5e5939536a21412d11eb0d7dce
MD5 88354b30ac1d30f1269688486f274bb0
BLAKE2b-256 152a85444e48518deffecce2213b5133654d2e95cd1c17396a5c8ec8952d6859

See more details on using hashes here.

File details

Details for the file Source_Assist-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: Source_Assist-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for Source_Assist-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d69052dd668e4cda7b9171af4dcf193bb44c285257895b998da98949ebb8c616
MD5 0b28d475de087aad19aeaafe2e258658
BLAKE2b-256 85b80e5a806f365f94320daf0eb94e344416311ff735c1400848dcc7946a0f71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page