powertrain-build/docs/powertrain_build_deployment.md
Henrik Wahlqvist 8f27b6a713 Updates to deployment docs/files
Change-Id: If4aa072aeca41c18fb5918f6353a4ae61c23257c
2024-06-18 12:17:11 +02:00

2.1 KiB

powertrain-build Deployment

[TOC]

After changes has been made to powertrain-build, a new version must be deployed.

Repositories

The powertrain-build git repository can be found here.

The powertrain-build PyPi repository can be found here.

Creating a Release

powertrain-build use pbr to create package meta data. Please read and use the features of pbr if updating resource files or non-python scripts.

powertrain-build use semantic versioning, MAJOR.MINOR.PATCH. The version is changed by creating and pushing a signed tag with the version on the commit that should be the released commit.

Creating a tag will trigger the release pipeline which will run a Zuul jobs that uploads to PyPi. For more information about creating releases in an opendev project, see https://docs.opendev.org/opendev/infra-manual/latest/drivers.html#tagging-a-release.

Development Releases

Currently, due to the use of pbr, it is hard to utilize the experimental pipeline to upload development releases. Therefore, we recommend building and uploading locally, following this guideline. Note that the Zuul release job also use the build and twine python modules.

If you have access to the powertrain-build api token, development releases can be uploaded to the official PyPi repository. Otherwise, we recommend creating your own TestPyPi package, see TestPyPi.

If distribution of a development version is needed, .devN should be used as postfix, where "N" equals the release number of the development release. Note that pbr creates this postfix automatically.

Additional Notes

If powertrain-build become dependent on a new package, add the dependency to /requirements.txt, or test-requirements.txt if the dependency is needed only for testing the package, not for using it.