Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Checklist

Release planning

  •  Define the name of the release
  •  Define the release date
  •  Do retro-planning
    •  RC: “release date” - 2 weeks
    •  Alpha : “release date” - 6 weeks
    •  Beta: “release date”- 8 weeks,
    •  Development freeze : “release date” - 10 weeks
  •  create the release on the QA server

Content

Table of Contents
minLevel1
maxLevel7
excludeContent

Checklist

Freeze Phase

  •  Inform developer of the freeze
  •  All relevant tickets are assigned to epics
  •  Create the release branchesrelease instance using the released components
  •  Define the version number of the modules based on semantic versioning
  •  Create the release branches
  •  Check the Continuous Integration in details
  •  Publish the release branch on PyPi and NPM (required to check the packaging) Inform the integrator implementers about the User Acceptance Test (UAT) timeline (Beta version)
  •  
  • add user account on the
  • Create the release on TestLink (QA server)

Alpha Phase

  •  create release instance using the released modules perform Perform some basic testing / Developer tests
    •  Claim: create/review/process
    •  Registration: create/update familly/insuree
    •  Enrollment: create policy and contribution
    •  Meta data: create/update location/product/user/role/pricelist/itemslist/servicelist
  •  Make sure defects are assigned to developperswere fixed by developers
  •  Release: openIMIS Instance and Wiki page are up to date

Beta Phase

  •  Update the PyPi, NPM module when code change was doneOfficially announce the start of User Acceptance Tests (UAT)
  •  Check that the release instance use the latest modules
  •  Do User-Acceptance-Testing (UAT)
    •  Add user account on the QA server

RC Phase

  •  Ensure deployability with Docker (Quickstart installation guide / Docker compose)
  •  Update the PyPi, NPM module when code change was done
  •  Check that the release instance use the latest modules
  •  Start collecting the documentation from developers

GA Phase

  •  Merge release branches with main
  •  Create release in GitHub, versioned according to Version management and containing complete release notes (should publish automatically the release on PyPi and NPM)
  •  Update the openimis.json in assemblies main branch to use only official version (not rcRC) on assembly modules
  •  Merge release branches with main
  •  make sure the demo server is up to date

Post-Release (prepare next release)

Preparation and Deployment

Releases Page Releases

  •  Analyze linked issues as a normal user (private projects hidden)
  •  All links are working and are helpful
  •  Dates and status of all releases are correct

Release Page

e.g. Release 2022-04

  •  All links are working and are helpful
  •  Release is marked as “GA” and dates are correct
  •  All relevant tickets are assigned
  •  All assigned tickets are marked “Done” or pushed to the next release
  •  Epics align with the “Highlights” of the release
  •  Points to the correct “Release Sources Page” under “Downloads” e.g. Sources Release 2022-04 for Release 2022-04

Release Sources Page

e.g. Sources Release 2022-04

  •  All components are consistently versioned according to Version management
  •  All links are working and helpful
  •  All components link to the correct repository and version
  •  All components have correct “Release Notes”
  •  All components link to reasonably similiar named repositories / package manager

Release Notes

  •  Every effected component in the release specific sources page (e.g. Sources Release 2022-04) has an updated and complete change log in it’s repository

User Documentation

  •  User Documentation is up-to-date  Update demo server (mark maintenance window on Demo: openIMIS)
  •  Demo: openIMIS Instance and Wiki page are up to date
  •  Mark all tickets in release as “Done” or push to the next release
  •  Check that Installation Guide supports installation of the latest release
  •  Check and update Release 2022-10
    •  All links on the release page and release sources page are working and are helpful; Dates are correct and the status is “GA”
    •  Analyze linked issues as an anonymous user
    •  “Highlights” of the release are written and coherent
  •  Check and update Sources Release 2022-04
    •  All source components link to the correct repository on GitHub, have the correct version, valid release notes and are reasonably named to similar repositories / package manager
  •  Formulate release notes in current release (Releases) and forward it to co-ordination desk for promotion (e.g. newsletter, Twitter)
  •  Check and update the Wikipedia page, that it refers to the latest release (number) and reflects the technical facts of openIMIS correctly

Post-Release

Start preparing the next release immediately after the current release.

Installation Guide / Configuration / Other

Sandbox Landscape Sandbox Landscape

...

    • latest release
  •  Prepare the next release
    •  Create the relevant epics for the new release (e.g. Release 2022-10 ) in Jira and add them to the release page
    •  Create the release page (e.g. Release 2022-10 ) for the following release and make sure it appears correctly on Releases
      •  Define milestones according to the framework in Releases
    •  Create a clean Release Checklist for the next release (e.g. Release 2022-10)