New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve version handling #641

Closed
ark3 opened this Issue May 16, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@ark3
Contributor

ark3 commented May 16, 2018

Goals

  • Telepresence knows whether it is running from a released artifact or from source
  • Telepresence warns the user when environment variables override the version of the proxy image (and the local image for container method)
  • Telepresence reports both the original (built-in) version and override version info when an environment override is used
  • Tagged release commits and unreleased commits have a computable version number that the deploy script can use to mark the artifacts it generates (Telepresence itself, images, deb/rpm packages, etc.)
  • When running a released codebase, Telepresence reports a release version string (e.g., 0.88) and uses the same version for images
  • When running installed from a non-release commit, Telepresence reports a dev version string (e.g., 0.88+3.gFEED1BEEF.dirty) and uses the same version for images
  • When running from a developer's Git checkout, Telepresence reports a dev version string but uses the prior release's images (0.88)

Plan

  • Remove all hard-coded references to the version number.
    • Such references are already catalogued in .bumpversion.cfg
    • docs/build-website.py will need special handling
  • Remove Bumpversion
  • Add Versioneer
  • Update the deploy.py script so that unique dev version numbers are used on untagged builds (as opposed to re-using the prior release's version number, which is what happens right now)
  • Update the release process documentation
    • Manually compute the next version
    • Call towncrier with the new version number as before
    • Tag the repo manually with the new version number. This replaces the current bumpversion step

Versioneer automatically takes care of reporting the appropriate type of version number from a source tree, from an installed deployment, etc. It computes the version based on the SCM state in dev. When using setuptools to deploy/install, it replaces the version computation code with a hard-coded value. It may be some work to figure out which case is in play; need to investigate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment