Moodle App Release Process: Difference between revisions
From MoodleDocs
Juan Leyva (talk | contribs) |
Juan Leyva (talk | contribs) |
||
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== | == Two weeks before (Code freeze) == | ||
{| class="table table-striped table-bordered" | {| class="table table-striped table-bordered" | ||
Line 12: | Line 12: | ||
|- | |- | ||
| 2. | | 2. | ||
| | | Force an update of the [https://moodle.org/plugins/view.php?id=997 local_moodlemobileapp] plugin (as release candidate) with new strings in moodle.org/plugins (only for Moodle version 2.6). | ||
| | | Dev | ||
|- | |- | ||
| 3. | | 3. | ||
| Ask someone from sites or community team to review the new | | Ask someone from sites or community team to review the new English strings. | ||
| Community or Sites team | | Community or Sites team | ||
|- | |- | ||
Line 28: | Line 28: | ||
|- | |- | ||
| 6. | | 6. | ||
| Contact the marketing announcing the new release and highlights. | | Contact the marketing team announcing the new release and highlights. | ||
| Integration Lead | | Integration Lead | ||
|- | |- | ||
| 7. | |||
| Add new QA tests to the “Testing cases” document. New QA tests should be labeled with [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE%20AND%20resolution%20in%20(Unresolved%2C%20Fixed)%20AND%20labels%20%3D%20qa_test_required%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC qa_test_required]. Remove that label once are added to the document. | |||
| Tester | |||
|- | |- | ||
| | | 8. | ||
| | | Freeze Cordova plugins and Javascript libraries versions (node modules) in the integration branch. | ||
| | | Developer | ||
|- | |- | ||
| | | 9. | ||
| | | '''Start testing''' | ||
| Tester | |||
| | |||
|} | |} | ||
Line 96: | Line 68: | ||
! style="width:12%" | Responsibility | ! style="width:12%" | Responsibility | ||
|- | |- | ||
| 1. | | 1. | ||
| | | Fix the version name in integration/config.xml and integration:src/config.json (remove the -dev). | ||
| Integration Lead | | Integration Lead | ||
|- | |- | ||
| 2. | | 2. | ||
| | | Integrate the [https://github.com/moodlehq/moodleapp/compare/master...integration integration branch onto the master one]. | ||
| Integration Lead | | Integration Lead | ||
|- | |- | ||
| 3. | | 3. | ||
| | | Do some testing with the production builds before sending the application to the stores (overall testing to see that nothing is broken because of the branch merge done in step 2): | ||
| | * Correct definitive version name displayed (and commit) | ||
* AOT compiling worked | |||
* Language strings synchronised from lang.moodle.net | |||
* New language packs added | |||
| All the team | |||
|- | |- | ||
| 4. | | 4. | ||
| Send the applications to the stores for review | | Send the applications to the stores for review. | ||
| Integration Lead | | Integration Lead | ||
|- | |- | ||
| 5. | | 5. | ||
| | | Create a TAG/Release in github ([https://github.com/moodlehq/moodleapp/releases moodlehq/moodleapp]) with the version number. | ||
| Integration Lead | | Integration Lead | ||
|- | |- | ||
| 6. | | 6. | ||
| | | Mark the issue and the [https://tracker.moodle.org/projects/MOBILE?selectedItem=com.atlassian.jira.jira-projects-plugin:release-page version] as released in the tracker. | ||
| Integration Lead | | Integration Lead | ||
|- | |- | ||
| 7. | | 7. | ||
| Update | | Update release notes [[Moodle_Mobile_Release_Notes]] . | ||
| Integration Lead | | Integration Lead | ||
|} | |||
== The following days == | |||
{| class="table table-striped table-bordered" | |||
|- | |- | ||
| | ! style="width:20px" | # | ||
! Task | |||
| | ! style="width:12%" | Responsibility | ||
|- | |- | ||
| | | 1. | ||
| Social media announcements (Forum and Twitter). | | Social media announcements (Forum and Twitter). | ||
| All the team & Marketing team | | All the team & Marketing team | ||
|- | |- | ||
| | | 2. | ||
| Post in moodle.org/news. | | Post in moodle.org/news. | ||
| Team Lead | | Team Lead | ||
|- | |- | ||
| | | 3. | ||
| Review the users and developers documentation (check that everything is in order). Review the [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE%20AND%20labels%20in%20%28docs_required%2C%20dev_docs_required%29 docs_required and dev_docs_required_tags]. Review the [https://docs.moodle.org/en/Moodle_Mobile_features Mobile features wiki documentation]. | | Review the users and developers documentation (check that everything is in order). Review the [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE%20AND%20labels%20in%20%28docs_required%2C%20dev_docs_required%29 docs_required and dev_docs_required_tags]. Review the [https://docs.moodle.org/en/Moodle_Mobile_features Mobile features wiki documentation]. | ||
| All the team | | All the team | ||
|- | |- | ||
| | | 4. | ||
| | | Delete the integration and desktop branches and create it again based on master. | ||
| Team Lead | |||
|- | |||
| 5. | |||
| Bump version numbers in the following files in the integration branch: config.xml, src/config.json (appending a -dev to the versionname field to indicate that is a development version), package.json (including mac->bundleVersion) and desktop/assets/windows/AppXManifest.xml. | |||
| Integration Lead | | Integration Lead | ||
|- | |||
| 6. | |||
| Unfreeze Cordova plugins and Javascript libraries versions (node modules). | |||
| Developer | |||
|- | |||
| 7. | |||
| Execute the combine CSS gulp task to generate a new CSS file for the BMA designer. | |||
| Developer | |||
|- | |||
| 8. | |||
| Check that the [https://cloud.docker.com/u/moodlehq/repository/docker/moodlehq/moodleapp/general Docker image] for the new version was successfully built. | |||
| Integration Lead | |||
|- | |||
| 9. | |||
| Update of the [https://moodle.org/plugins/view.php?id=997 local_moodlemobileapp] plugin (as final release) in moodle.org/plugins (only for Moodle version 2.6). | |||
| Dev | |||
|} | |} | ||
[[Category:Processes]] | [[Category:Processes]] | ||
[[Category:Mobile]] | [[Category:Mobile]] | ||
{{DISPLAYTITLE:Moodle app release process}} |
Revision as of 11:35, 26 June 2020
Two weeks before (Code freeze)
# | Task | Responsibility |
---|---|---|
1. | Create an issue in the tracker for the release, like: MOBILE-1248 | Integration Lead |
2. | Force an update of the local_moodlemobileapp plugin (as release candidate) with new strings in moodle.org/plugins (only for Moodle version 2.6). | Dev |
3. | Ask someone from sites or community team to review the new English strings. | Community or Sites team |
4. | Announce in the moodletranslation forums the new strings available: https://lang.moodle.org/mod/forum/view.php?id=5. This will allow translators to add the new strings during the days prior to the release. | Integration Lead |
5. | Add the release notes in the release issue created (search for the release_notes tag). Ask someone from the documentation team or Martin to review the release notes. | Integration Lead |
6. | Contact the marketing team announcing the new release and highlights. | Integration Lead |
7. | Add new QA tests to the “Testing cases” document. New QA tests should be labeled with qa_test_required. Remove that label once are added to the document. | Tester |
8. | Freeze Cordova plugins and Javascript libraries versions (node modules) in the integration branch. | Developer |
9. | Start testing | Tester |
1 day before
# | Task | Responsibility |
---|---|---|
1. | Backport to local_mobile (all branches) all the new required Web Services by new features.
Check if existing Web Services should be added to the local_mobile service (because they were added to the Mobile app service). Once all the Web Services are backported and tested, publish a new version in the plugins database (via TAGS) so admin can updates their sites. |
Integration Lead |
The release day
# | Task | Responsibility |
---|---|---|
1. | Fix the version name in integration/config.xml and integration:src/config.json (remove the -dev). | Integration Lead |
2. | Integrate the integration branch onto the master one. | Integration Lead |
3. | Do some testing with the production builds before sending the application to the stores (overall testing to see that nothing is broken because of the branch merge done in step 2):
|
All the team |
4. | Send the applications to the stores for review. | Integration Lead |
5. | Create a TAG/Release in github (moodlehq/moodleapp) with the version number. | Integration Lead |
6. | Mark the issue and the version as released in the tracker. | Integration Lead |
7. | Update release notes Moodle_Mobile_Release_Notes . | Integration Lead |
The following days
# | Task | Responsibility |
---|---|---|
1. | Social media announcements (Forum and Twitter). | All the team & Marketing team |
2. | Post in moodle.org/news. | Team Lead |
3. | Review the users and developers documentation (check that everything is in order). Review the docs_required and dev_docs_required_tags. Review the Mobile features wiki documentation. | All the team |
4. | Delete the integration and desktop branches and create it again based on master. | Team Lead |
5. | Bump version numbers in the following files in the integration branch: config.xml, src/config.json (appending a -dev to the versionname field to indicate that is a development version), package.json (including mac->bundleVersion) and desktop/assets/windows/AppXManifest.xml. | Integration Lead |
6. | Unfreeze Cordova plugins and Javascript libraries versions (node modules). | Developer |
7. | Execute the combine CSS gulp task to generate a new CSS file for the BMA designer. | Developer |
8. | Check that the Docker image for the new version was successfully built. | Integration Lead |
9. | Update of the local_moodlemobileapp plugin (as final release) in moodle.org/plugins (only for Moodle version 2.6). | Dev |