Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
OpenWalnut Core
OpenWalnut Core
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 44
    • Issues 44
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • OpenWalnut
  • OpenWalnut CoreOpenWalnut Core
  • Wiki
  • ReleaseGuide

ReleaseGuide

Last edited by Sebastian Volke Jul 03, 2017
Page history

Release guide

In this article, we describe how we handle OpenWalnut releases. This might be informative for you but is also a checklist for us. We begin with describing the organizational part. In the second section, we list the technical work for actually doing the release.

Organizational

  1. All: decide for feature freeze

  2. All: define feature set

  3. Project Manager: decide feasibility of features

  4. Project Manager: assign features to developers

  5. Project Manager: define fuzzy deadline

    • defines release month, exact date not reasonable
  6. Release Manager: summarize feature set in Roadmap (website)

  7. All: create tickets for features or assign existing tickets to target version

  8. All: work on the tickets

  9. Release Manager: check for progress & ensure progress

  10. Release Manager: responsible for release

  11. Release Manager: finally, build (technically) the release

    • Packaging, upload and so on

After Release:

  1. Release Manager: assign bug reports to developers using tickets
  2. All: fix bugs, do not add features
  3. Release Manager: decide for bug fix release, start at second step

Technical

  1. Release Manager: create a branch for the release.

    • The branch is named "OpenWalnut_MAJOR.MINOR"
    • The branch is named with MAJOR.MINOR and does NOT include the patch number.
      • The 1.2.5 branch is an exception from the rule.
  2. All: work on assigned tickets in branch only

    • Merge these to default regularly
    • Accidental commits to default are patched into release branch
  3. Release Manager: prepare source in release branch

    • Change version info in VERSION file
    • Change version info on doc/core/doxygenConfig and doc/developer/doxygenConfig
    • Modify version info in tools/release/owrelease
    • Update the distribution package specific changelog files
      • for DEB packages, use "dch" to add a changelog entry
    • No further changes needed as the build&pack scripts manage the remaining things
  4. Release Manager: on release, set a tag to release branch head revision

    • The tag is named "Release_MAJOR.MINOR.PATCH"
  5. Release Manager: use owrelease, owpack and owrelease for release packaging (source:tools/release/)

  6. Release Manager: upload src and binary packages, update NeuroDebian package

    • Use http://static.openwalnut.org/download for this
    • Add release to releases.html for Debian DEHS in download directory
  7. Release Manager: update documentation

    • Write ReleaseNotes
    • Update Getting_OpenWalnut page
  8. Release Manager: make some advertisement

    • Add a News-entry
    • Announce on mailing lists (openwalnut, openwalnut-dev)

After Release:

  1. All: fixes for bugs in the release branch
  2. All: no adding of features in release branch
  3. Release Manager: for bug fix release, add tag with incremented patch number
    • named "Release_MAJOR.MINOR.1" in branch "OpenWalnut_MAJOR.MINOR"
Clone repository
  • DeveloperTools
  • DiffusionIndices
  • Documentation
  • Downloads
  • EditorConfiguration
  • FAQ
  • FiberSimilarityMetrics
  • FirstSteps
  • Getting_OpenWalnut
  • Glossary
  • HowtoDocumentCode
  • IllustrativeConnectivityVisualization
  • InstallMSYS2
  • InstallMinGW
  • InstallVisualStudio
View All Pages