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 | ||||||
---|---|---|---|---|---|---|
|
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 modulesperform 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)
- Release Page (e.g. Release 2022-04) for the following release is set up and appears correctly on Releases
- Relevant Epics for the new release (e.g. Release 2022-10) were created in Jira and added to the Release Page
- A clean Release Checklist as in https://openimis.atlassian.net/wiki/pages/resumedraft.action?draftId=3312615490 has been created for the next release (e.g. Release 2022-10)
Preparation and Deployment
- All affected repositories (GitHub, Pypi.org, http://npmjs.com , etc.) are tagged and versioned according to Version management
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
- 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.
- Sandbox Landscape Other instances are up to date / compatible with Demo: openIMIS / Release: openIMIS
- Ensure the documentation is up2date
- Installation guide / Installation and Country Localisation supports installation of the latest release
- User Documentation http://docs.openimis.org/en/latest/ / http://docs.openimis.org/fr/latest/
Installation Guide / Configuration / Other
- Tutorials on YouTube are up-to-date / not misleading
- Developer Starter Kit reflects latest release
- Installation Guide reflects latest release
- “Technical Requirements” / Connectivity & theoretical infrastructure required reflects
- Tutorials on YouTube are up-to-date / not misleading
Sandbox Landscape Sandbox Landscape
- Demo: openIMIS Instance and Wiki page are up to date
- Release: openIMIS Instance and Wiki page are up to date
- Sandbox Landscape Other instances are up to date / compatible with Demo: openIMIS / Release: openIMIS
...
- Release 2022-04 List of assigned tickets seems to be incomplete (Huge changelog for Legacy Web App, but empty list of tickets!?)
- Release 2022-04 Some assigned tickets are not “Done”
- Sources Release 2022-04 Double entry of repository https://github.com/openimis/openimis-fe-tools_js “FE French Translations” and “FE Tools”
- Sources Release 2022-04 Link to package manager of “FE French Translation” is broken
- Sources Release 2022-04 “FE French Translations” - Mismatch between name of module and name of repository / Mismatch between “Version” and “Repository” (wrong repo “openimis-fe-tools.js” ?)
- Sources Release 2022-04 Some links to installation guides under “Legacy” and “Deprecated” are broken
- Sources Release 2022-04 Link to ”Backend installation guide” is broken
- Sources Release 2022-04 Link to “Frontend installation guide” is missing
- Release 2022-04 Status is not “GA”
- Releases Status of Release 2022-04 is not “GA”
- Release 2022-04 Link to “Release Notes” is broken
- Sources Release 2022-04 Chapter General/Intro: Most links are broken or not helpful
- Sources Release 2022-04 Chapter “Database”: Link “Installation guide” is broken
- Sources Release 2022-04 Chapter “Docker scripts”: Links for “Installation guide” are broken
- Sources Release 2022-04 Some version numbers have 4 digits, others 3
- Sources Release 2022-04 Some version numbers have “rc..”, “April” and so on in their names
- Sources Release 2022-04 “Installation guide” links in “openIMIS modular version - Docker scripts” are broken
- Sources Release 2022-04 Double “BE Claim AI”
- Sources Release 2022-04 “FE French Translations” - Missing “Release Notes”
- Sources Release 2022-04 “FE Claim Batch” - Missing “Release Notes”
- Sources Release 2022-04 Most (all?) dependency links are broke
- Sources Release 2022-04 Some components don’t link to the “latest” on GitHub (e.g. Claims mobile application)
- https://openimis.atlassian.net/wiki/spaces/OP/pages/368345128 Warns about an old release → Release 2021-04
- https://openimis.atlassian.net/wiki/spaces/OP/pages/368345128 Is inconsistent and messy
- Sources Release 2022-04 Does not link to the latest version according to https://openimis.atlassian.net/wiki/spaces/OP/pages/1277296705 and GitHub
- Sources Release 2022-04 “BE Calcrule Contribution Legacy” does not link to a version
- https://openimis.atlassian.net/wiki/spaces/OP/pages/3299966977 does not link to a version
- Sources Release 2022-04 “BE Calcrule Capitation Payment” does not link to a version
- https://openimis.atlassian.net/wiki/spaces/OP/pages/3300229121 does not link to a version
- Sources Release 2022-04 “BE Tools” does not link to a version
- https://openimis.atlassian.net/wiki/spaces/OP/pages/3300229121 does not link to a version
- Sources Release 2022-04 “Frontend assembly” points to an old version
- Sources Release 2022-04 “FE French Translations” points to an old version but names a new version
- https://openimis.atlassian.net/wiki/spaces/OP/pages/1277624413 Is not up2date
- Sources Release 2022-04 “FE Claim Batch” points to an old version
- https://openimis.atlassian.net/wiki/spaces/OP/pages/814448725 is not up2date
- Sources Release 2022-04 “Policies mobile application” points to an old version
- Sources Release 2022-04 “Claims mobile application” points to an old version
- https://openimis.atlassian.net/wiki/spaces/OP/pages/814055471 is not up2date
- Sources Release 2022-04 All BE components point to http://pypi.org except “Backend assembly”, “BE Calcrule Contribution Legacy”, “BE Calcrule Capitation Payment“, “BE Tools”
- Sources Release 2022-04 Duplicate entry of “Backend Assembly” and “Frontend Assembly” under “Docker file scripts”
- Links in Version are not pointing to the release notes
- Repository-Link should not point to a specific version
- Sources Release 2022-04 “Docker script for gateway” does not contain links to Version or Repository
- Sources Release 2022-04 Links to Repository should have a consistent format
- Sources Release 2022-04 “Docker-compose script” states dependency to legacy “openIMIS Web Application”, that shouldn’t be the case anymore with the new release
- 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)