🛠 Developer Guide¶
Setting up the workspace¶
Checkout the Project¶
git checkout git@github.com:exasol/bucketfs-python.git
Install project dependencies¶
poetry install
Setup pre-commit hook(s)¶
poetry run pre-commit install
Creating a Release¶
Prerequisites¶
Change log needs to be up to date
Latest change log version needs to match project and package version
Release tag needs to match package, changelog and project version
- For Example:
Tag: 0.4.0
Changelog: changes_0.4.0.md
`poetry version -s`: 0.4.0
Triggering the Release¶
In order to trigger a release a new tag must be pushed to Github. For further details see: .github/workflows/ci-cd.yml.
Create a local tag with the appropriate version number
git tag x.y.zPush the tag to Github
git push origin x.y.z
What to do if the release failed?¶
The release failed during pre-release checks¶
Delete the local tag
git tag -d x.y.zDelete the remote tag
git push --delete origin x.y.zFix the issue(s) which lead to the failing checks
Start the release process from the beginning
One of the release steps failed (Partial Release)¶
Check the Github action/workflow to see which steps failed
Finish or redo the failed release steps manually
Note
Example
Scenario: Publishing of the release on Github was successfully but during the PyPi release, the upload step got interrupted.
Solution: Manually push the package to PyPi