Simple Docs
  • What is Simple?
    • 📕Background
    • 📱Simple app features
    • 🖥️Dashboard features
    • 👩‍⚕️Who uses Simple?
    • 🏥Clinic workflows
  • Try it out
  • Training materials
  • Contact
    • Contact us
    • Customer support
      • Bug priority definitions
  • Reports
    • What we report
    • Building custom reports
  • Engineering
    • Data dictionary & API
    • Android
      • Conventions
      • Deploying to Play Store
      • Headers sent from the app
    • Backend
      • Audit logs
      • Major flows
    • Localization
      • Android
      • Server
      • Adding/Editing translations for a project
      • Reviewing a translation
    • Technical Hiring Process
  • Design
    • Design
    • User testing
      • Key moments in the user journey
      • User tests
      • Conducting user tests
  • Onboarding
    • Code of conduct
    • Acronyms
    • Glossary
    • Recommended reading
    • Digital principles
  • Elsewhere
    • Simple.org
    • Source code (GitHub)
Powered by GitBook
On this page
  • Sandbox app
  • Staging / Demo
  • Production
  • Step 1: Production release
  • Step 2: Fix issues, if any

Was this helpful?

Export as PDF
  1. Engineering
  2. Android

Deploying to Play Store

The variants of the app have slightly different ways they get deployed to the Store.

PreviousConventionsNextHeaders sent from the app

Last updated 15 days ago

Was this helpful?

Sandbox app

  • The Sandbox app is automatically deployed to the Play Store, every night at 10pm IST.

  • We do this using and GitHub Actions

  • There is a "Scheduled Build" that runs every night at 10pm on the master branch

  • No other manual intervention is required.

Staging / Demo

  • The staging/demo app is automatically deployed to the Play Store, every 2 weeks at 9am IST.

  • There is a "Scheduled Build" that runs every 2 weeks at 9am on the master branch

  • No other manual intervention is required.

Production

Our releases happens at regular intervals. For now, this interval is one (sometimes two) week, and Monday is release day.

Step 1: Production release

  1. On release day (currently Monday), go to Simple (Production) app on Tramline.

  2. Click on "Prepare new release" and select "New calendar version". This will create the appropriate release branch on the repository.

  3. While the release build is being generated update the changelog on Tramline that will be passed to Google Play.

  4. Once release build is available, submit the app for approval from "Approval" section on Tramline, and then start the rollout at 25%.

  5. Post the details of this release to the #releases Slack channel to inform the rest of the organisation.

Step 2: Fix issues, if any

  • If someone discovers a problem in the Demo/Production release, it must be fixed and merged into the appropriate release branch. Tramline will automatically create a new release based on the fix.

  • Only a few categories of issues are eligible for cherry-picking: bug fixes and language/text changes. All other types of issues will have to wait till the next release goes out.

  • Once the release is marked as finished, Tramline will automatically merge the fix back to the main branch.

We do this using and GitHub Actions

Our integration branch is master: this is where PRs are merged, and release branches are made from. All release branches have a one-week holding period, during which we manually verify the app (using ) before it goes live on the .

The CHANGELOG.md file must also be updated itself. This keeps the entire team informed about which changes are already present on Demo.

Tramline
Simple Demo
production app
on master
Tramline