Permifrost is a python tool for managing permissions on a Snowflake data warehouse. The main documentation for using the tool is available in the project and on PyPI.
Follow these steps to create and prepare your virtual environment.
# create a virtualenv python -m venv ~/.venv/permifrost # activate your virtualenv source ~/.venv/permifrost/bin/activate # install dependencies pip install -r requirements.txt # pip3 install all the development dependencies pip install -e '.[dev]'
Once you've committed your changes, submit a merge request and update the default template.
Permifrost uses semver as its version number scheme.
Ensure you have the latest
master branch locally before continuing.
git fetch origin
Permifrost uses tags to create its artifacts. Pushing a new tag to the repository will publish it as docker images and a PyPI package.
Ensure your installation is up to date following the Development workflow outlined above
Execute the commands below:
# create and checkout the `release-next` branch from `origin/master` git checkout -B release-next origin/master # view changelog (verify changes made match changes logged) changelog view # after the changelog has been validated, tag the release make type=minor release # If doing a patch release, run make type=patch release # If doing a major release, run make type=major release # ensure the tag once the tag has been created, check the version we just bumped to: e.g. `0.22.0` => `0.23.0`. git describe --tags --abbrev=0 # push the tag upstream to trigger the release pipeline git push origin $(git describe --tags --abbrev=0) # push the release branch to merge the new version, then create a merge request git push origin release-next
Create a merge request from
Make sure to check
delete the source branch when the changes are merged
When the publish pipeline succeeds, the release is publicly available on PyPI