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: Difference between revisions

From MoodleDocs
Line 104: Line 104:
|-
|-
| 1.
| 1.
| Create a TAG/Release in github (moodlehq/moodlemobile2) with the version number.
| 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
| Integration Lead
|-
|-
| 2.
| 2.
| Build the app for Android and iOs using the Distribution certificate. Remember to do two different builds (pointing to the ios and android branches)
| Send the applications to the stores for review.
| Integration Lead
| Integration Lead
|-
|-
| 3.
| 3.
| Send the applications to the stores for review.
| Create a TAG/Release in github (moodlehq/moodlemobile2) with the version number.
| Integration Lead
| Integration Lead
|-
|-

Revision as of 09:03, 29 February 2016

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.

This will allow translators to add the new strings during the days prior to the release.

Integration Lead
3. Announce in the moodletranslation forums the new strings available: https://lang.moodle.org/mod/forum/view.php?id=5 Integration Lead

3 days before

# Task Responsibility
1. Backport to local_mobile (all branches) all the new required Web Services by new features.

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
2. Add the release notes in the release issue created. Ask someone from the documentation team or Martin to review the release notes. Integration Lead
3. Contact the marketing announcing the new release and highlights . Integration Lead

1 day before (testing day)

# Task Responsibility
1. Create a new branch with the release tracker issue number for integrating all the version and string changes. Integration Lead
2. Auto translate strings with the script auto-translate2.php Integration Lead
3. Update language strings from AMOS using the fetch-langpacks2.sh script Integration Lead
4. Bump version numbers in config.xml, www/config.json and in www/errorreport.js (is hardcoded there).

Push all this changes using the release issue number.

Integration Lead
5. Update from master (git fetch moodlehq; git merge moodlehq/master master)

Execute gulp to build all the files (and bower install if necessary to update javascript libraries)

Integration Lead
6. Copy the code of the latest version to the moodlemobile-phonegapbuild repo Integration Lead
7. Bump version numbers in /config.xml Integration Lead
8. Rebase for iOs and Android (all the commits that apply the specific styles, includes the errorreport.js library etc.. will be applied) Integration Lead
9. Create two different builds (one for ios and another one for android branch) in Phonegap Build using the Development certificate for iOs and not using any certificate for Android

And Start testing

All the team
10. Review the users and developers documentation (check that everything is in order). Review the docs_required and dev_docs_required_tags All the team

The release day

# Task Responsibility
1. 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
2. Send the applications to the stores for review. Integration Lead
3. Create a TAG/Release in github (moodlehq/moodlemobile2) with the version number. Integration Lead
4. Update release notes Moodle_Mobile_Release_Notes with the notes reviewed in the issue. Integration Lead
5. Update the local mobile plugin short description to indicate which is the latest Moodle Mobile version supported and date. Integration Lead
6. Social media announcements (Forum and Twitter) All the team & Marketing team
7. Mark the version as released in the tracker Integration Lead
8. Remove the official tag in the android and ios branches (from the phonegapbuild repository) Integration Lead