Majic Projects
Gimmecert
Go to the previous open issue
Go to the previous issue (open or closed)
star_faded.png
Please log in to bookmark issues
icon_project.png Gimmecert / Closed Feature request GC-24 Release procedure with script
action_vote_minus_faded.png
0
Votes
action_vote_plus_faded.png
Go to the next issue (open or closed)
Go to the next open issue
This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue basics
  • Type of issue
    Feature request
  • Category
    Not determined
  • Targetted for
    0.1.0
  • Status
    Closed
  • Progress
  • Priority
    Not determined
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (0)
There are no items
People involved
Times and dates
  • Posted at
  • Last updated
  • Estimated time
    12 hours
  • Time spent
    12 hours
    Click here to see time logged against this issue
Issue details
  • Resolution
    RESOLVED
Attachments (0)
There is nothing attached to this issue
Duplicate issues (0)
This issue does not have any duplicates
Description

At the moment there are no release procedures that can be followed for releasing Gimmecert. In order to make the maintenance easy in the future, it would be a good idea to have the foundation for this worked-out in the early stages. Preferably this process should be semi-automated.

As part of creating a release procedure, it would be good to also add some documentation around development on how the versioning works, etc.

The following should be done:

  • Create initial release notes based on the existing issues. Release notes should consist of:
    • Abstract overview of what has been implemented. This can be a more human-friendly description.
    • Listing of all issues that have been fixed/implemented during this release. Separate issues per type.
  • Document release notes update procedure. Release notes should be updated along the way, together with fixed bugs/implemented features/enhancements.
  • Document the versioning schema used for Gimmecert. Use the semantic versioning for this purpose.
  • Write helper script for making releasing easier. The script should:
    • Ensure the OpenPGP signing card is available for making sure all commits/tags are signed.
    • Verify there are no uncommitted changes.
    • Try to perform all commits/tagging early in order to prompt user at beginning of process.
    • Roll-back tags in case of failed tests.
    • Take care of filling-in correct version in release notes based on the current branch and already released versions. Might be useful to have a replaceable string for working release notes.
    • Take care of starting new release notes (more as a placeholder).
    • Take care of tagging releases.
    • Prepare release in a dedicated branch in case something goes wrong. Once release is fully functional and has been tested, tag/merge that.
    • Create maintenance branches where appropriate.
    • Take care of running a clean test in all Python environment prior to proceeding.
    • Take care of pushing the changes upstream, including tags.
    • Take care of building and uploading the release to PyPI.
  • Document the release procedure.
Todos (0 / 0)
There are no comments