Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Moodle App Release Process

From MoodleDocs
Revision as of 14:03, 12 June 2018 by Séverin Terrier (talk | contribs) (Typos)

4-7 days before (when possible)

# Task Responsibility
1. Create an issue in the tracker for the release, like: MOBILE-1248 Integration Lead
2. Update the local_moodlemobileapp plugin with new strings in moodle.org/plugins (only for Moodle version 2.6). Use the moodlemobile-scripts/json-to-string2.php to convert the build lang file to a valid string file. Integration Lead
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 announcing the new release and highlights. Integration Lead

7 days before (testing days)

# Task Responsibility
1. Create a new local branch (based on moodlehq/moodlemobile2:integration) with the release tracker issue number for integrating all the version and string changes. Integration Lead
2. Run gulp and then execute detect-string-core-changes.php and auto-translate strings with the script auto-translate2.php, commiting the results. Integration Lead
3. Run gulp and update language strings from AMOS using the fetch-langpacks2.sh script, commit the result. Integration Lead
4. Bump version numbers in config.xml, www/config.json, package.json, desktop/assets/windows/AppXManifest.xml and in www/errorreport.js (is hardcoded there).

Push all this changes using the release issue number and integrate them into the integration branch.

Integration Lead
5. Execute the prepare-release-integration.sh script to update the moodlehq/moodlemobile-phonegap build:integration branch with a built version of the app ready for PhonegapBuild.

Push all this changes to moodlehq/moodlemobile-phonegapbuild:integration.

Integration Lead
6. Bump version numbers in moodlehq/moodlemobile-phonegapbuild:integration/config.xml and push the changes. Integration Lead
7. Create a build in Phonegap Build using the Development certificate for iOs and the production keystore for Android pointing to moodlehq/moodlemobile-phonegap build:integration

And Start testing

All the team

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. Integrate the integration branch onto the master one. Execute the prepare-release-version.sh script. Integration Lead
2. Bump the versions in the config.xml file and then PUSH the master branch of the moodlemobile-phonegapbuild repository. Integration Lead
3. Build the app for Android and iOs using the Distribution certificate. Remember to do two different builds (pointing to the ios and android branches). Integration Lead
4. Send the applications to the stores for review. Update the download.php for desktop apps (including new version number). Integration Lead
5. Update release notes Moodle_Mobile_Release_Notes and Moodle_Desktop_release_notes with the notes reviewed in the issue. Integration Lead
6. Create a TAG/Release in github (moodlehq/moodlemobile2) with the version number. Integration Lead
7. Update the local mobile plugin short description to indicate which is the latest Moodle Mobile version supported and date. Integration Lead
8. Mark the issue and the version as released in the tracker. Integration Lead
9. Social media announcements (Forum and Twitter). All the team & Marketing team
10. Post in moodle.org/news. Team Lead
11. 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
12. Provide the APK file for including in Moodle downloads: Moodle mobile. Integration Lead