一键导入
mega-hotfix
// MEGA iOS hotfix workflow. Use when the user reports a crash or critical bug in production, needs to stop a phased release, or wants to prepare and release a hotfix build.
// MEGA iOS hotfix workflow. Use when the user reports a crash or critical bug in production, needs to stop a phased release, or wants to prepare and release a hotfix build.
| name | mega-hotfix |
| description | MEGA iOS hotfix workflow. Use when the user reports a crash or critical bug in production, needs to stop a phased release, or wants to prepare and release a hotfix build. |
| disable-model-invocation | true |
| allowed-tools | Bash |
For new crashes or bugs in production, first assess the impact. If a hotfix is needed, stop the phased release if it is in progress, then follow the steps below.
Contact one of the following people to pause the phased release:
Make sure you are on the latest develop branch. From the project root:
cd scripts/ReleaseScripts/PrepareHotfix && ./run.sh
This creates a MR in GitLab called Hotfix [major].[minor].[patch].
Add a detailed description to the hotfix MR explaining:
Comment on the release MR:
jira_create_version
Once all issues are fixed, comment on the code freeze MR:
deliver_appStore --announce-release true --hotfix-build true
Once the hotfix build is uploaded and the automation posts the release announcement, reply in that announcement thread in #ios and #qa channels:
Here is the hotfix report:
[Build the report following the Hotfix report template]
Follow the standard release process starting from Phase 3 of /mega-release-workflow (App Store Submission) to submit and release the hotfix build.
If there is already a release branch with a greater version number (e.g. you are creating a hotfix for 13.3 but release/13.4 already exists):
release/13.4 branch so those fixes are included there as wellBatch-add one or many SVG icons to MEGAAssetsBundle xcassets from an input folder whose subfolders encode the xcassets group path. Creates an imageset per icon, defines Swift constants in MEGAAssetsBundle (SwiftUI Image + UIKit UIImage) and the MEGAAssets wrapper, then rebuilds the xcframework once. Use when the user says "add icon to MEGAAssets", "add new icon(s)", "add asset to MEGAAssetsBundle", "batch add SVG icons", "add icons from folder", or "add image constant".
MEGA iOS Weblate localization workflows. Use when the user mentions "weblate", "l10n", "localization", "upload strings", "upload plurals", "download translations", "sync strings", "changelog translation", "add new string", or asks to run "lang.sh". Also use when the user says things like "push new strings to Weblate", "pull translations for release", or "upload changelogs to App Store".
MEGA iOS Shared Repo release workflow. Use when the user asks about the shared repo release process, shared repo code freeze, or shared repo Monday release checklist.
Camera Upload specialist — explains, refactors, debugs, and documents the MEGA iOS Camera Uploads feature. Use this skill whenever the user asks about camera uploads, including: navigating the code, implementing or refactoring upload flows, debugging upload progress or paused states, working with the upload queue or CoreData records, understanding the ObjC/Swift bridge, adding settings options, tracing background session recovery, or documenting the feature. Trigger terms: Camera Upload, CU, camera upload breakdown, upload queue, photo backup, video upload, upload progress, upload paused, BGRefresh, upload stats, HEIC conversion, PHAsset, upload session recovery, CameraUploadManager, CameraUploadOperation, CameraUploadTransferProgress.
MEGA iOS Fastlane and App Store metadata reference. Use when the user asks about Fastlane lanes, App Store screenshots, signing certificates, device registration, delivering to TestFlight or App Store, Jenkins CI trigger phrases, App Store Connect upload commands, or fastlane match.
MEGA iOS release workflow commands and scripts. Use when the user asks about code freeze, release preparation, Monday release checklist, creating a release branch, release candidates, hotfixes, or finalizing and merging a release.