SimpleDataLabsInc / prophecy-build-tool

Prophecy-built-tool (PBT) allows you to quickly build projects generated by Prophecy (your standard Spark Scala and PySpark pipelines) to integrate them with your own CI / CD (e.g. Github Actions), build system (e.g. Jenkins), and orchestration (e.g. Databricks Workflows).
https://pypi.org/project/prophecy-build-tool
Apache License 2.0
28 stars 3 forks source link

Rj/add versioning AND tagging capabilities #104

Closed neontty closed 3 months ago

neontty commented 3 months ago

adding versioning and tagging tools to PBT to help for external CI/CD users. This will help change versions in all correct places for a given project language (pbt_project.yml, dbt_project.yml, setup.py, pom.xml). This will enable users to produce artifacts with the same version as their project.

Usage: pbt versioning [OPTIONS]

Options:
  --path TEXT                 Path to the directory containing the
                              pbt_project.yml file  [required]
  --bump [major|minor|patch]  bumps one of the semantic version numbers for
                              the project and all pipelines based on the
                              current value. Only works if existing versions
                              follow SemVer (MAJOR.MINOR.PATCH)
  --set TEXT                  Explicitly set the exact version
  --force, --spike            bypass errors if the version set is lower than
                              the base branch
  --sync                      Ensure all files are set to the same version
                              that is defined in pbt_project.yml. (implies
                              --force)
  --help                      Show this message and exit.
Usage: pbt tag [OPTIONS]

Options:
  --path TEXT       Path to the directory containing the pbt_project.yml file
                    [required]
  --repo-path TEXT  Path to the repository root. If left blank it will use '--
                    path'
  --no-push         By default the tag will be pushed to the origin after it
                    is created. Use this flag to skip pushing the tag.
  --branch TEXT     normally the tag is prefixed with the branch name:
                    <branch_name>/<version>. This overrides <branch_name>.
                    Provide "" to omit the branch name.
  --custom TEXT     Explicitly set the exact tag using a string. Ignores other
                    options.
  --help            Show this message and exit.
neontty commented 3 months ago

hi @prongs @jainabhinav @pankajb23 can someone please review and approve?