mirror of
https://github.com/suitenumerique/messages.git
synced 2026-09-12 12:57:44 +02:00
Every Scalingo deploy of an app with MOBILE_OTA_S3_BUCKET set stages a signed OTA bundle during the frontend build (the only window where node and the publishing devDependencies are available) and re-points the channel manifest at postdeploy, which Scalingo only runs on a successful deployment — so the manifest never advertises a version that is not serving, and redeploying an old commit rolls the channel back. Releases are ordered by a monotonic `sequence` in the manifest rather than by the build id, which becomes the bare 8-char short SHA: the Makefile now passes SOURCE_VERSION to every container build so host, container and Scalingo builds stamp the same id and the builtin bundle matches a same-commit manifest instead of re-downloading on first launch. A rollback script re-points a channel at an archived release, the app refuses a version it already failed to boot on, and a persistent toast lets the user apply a staged update when they choose.