Skip to content

[MS-1505] Add release dashboard promotion workflows#1747

Merged
meladRaouf merged 2 commits into
mainfrom
add-release-dashboard-promote-workflow
Jul 15, 2026
Merged

[MS-1505] Add release dashboard promotion workflows#1747
meladRaouf merged 2 commits into
mainfrom
add-release-dashboard-promote-workflow

Conversation

@meladRaouf

@meladRaouf meladRaouf commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

JIRA ticket
Will be released in: no app release

Notable changes

  • Add update-release-stage.yml — manual workflow_dispatch workflow to promote a version to production_ready (Beta), delivery_testing, or production. Looks up the GitHub Release for that version to find the APK download URL automatically. The version input is a choice dropdown seeded with the 15 most recent published release tags (wrapped in marker comments for automated regeneration), and stage is a choice of the three supported environments.
  • Add reusable-update-dashboard.yml — reusable workflow that writes the promoted environment/version/apk_url/release_url into status.json on the gh-pages branch and commits/pushes the change, so the release status dashboard stays up to date.
  • Add sync-release-stage-versions.yml — workflow triggered on release: published (and manual dispatch) that regenerates the version dropdown in update-release-stage.yml from the live list of release tags and commits the change back to main, keeping the dropdown in sync without manual edits.
  • All workflow_dispatch inputs are passed via env: rather than interpolated directly into run: blocks, to avoid script injection.

Testing guidance

  • Run update-release-stage.yml manually via workflow_dispatch, selecting a stage and version, and confirm status.json on gh-pages is updated with the correct version/apk_url/release_url and the dashboard reflects the change.
  • Publish a release and confirm sync-release-stage-versions.yml runs and updates the version dropdown options in update-release-stage.yml on main.

Additional work checklist

  • Effect on other features and security has been considered
  • Design document marked as "In development" (if applicable)
  • External (Gitbook) and internal (Confluence) Documentation is up to date (or ticket created)
  • Test cases in Testiny are up to date (or ticket created)
  • Other teams notified about the changes (if applicable)

@cla-bot cla-bot Bot added the ... label Jul 13, 2026
@meladRaouf
meladRaouf force-pushed the add-release-dashboard-promote-workflow branch from 7b867d2 to af754a7 Compare July 13, 2026 17:29
Comment thread .github/workflows/update-release-stage.yml Fixed
@meladRaouf
meladRaouf force-pushed the add-release-dashboard-promote-workflow branch from 9a6d57b to 83e68e8 Compare July 13, 2026 18:00
@meladRaouf meladRaouf changed the title Add release dashboard promotion workflows [MS-1505]Add release dashboard promotion workflows Jul 13, 2026
@meladRaouf meladRaouf changed the title [MS-1505]Add release dashboard promotion workflows [MS-1505] Add release dashboard promotion workflows Jul 13, 2026
@meladRaouf
meladRaouf requested a review from Copilot July 14, 2026 09:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds GitHub Actions workflows to manually promote a released app version to a given “stage” and keep a gh-pages-hosted release dashboard (status.json) updated, plus an automation to keep the manual workflow’s version dropdown in sync with published GitHub Releases.

Changes:

  • Introduces a manual workflow_dispatch workflow to promote a version to production_ready, delivery_testing, or production, resolving the Release + APK URL via gh.
  • Adds a reusable workflow that writes the promoted stage/version/urls into status.json on gh-pages and commits/pushes.
  • Adds a workflow triggered on release: published (and manually) to regenerate the version choice list in the promotion workflow.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
.github/workflows/update-release-stage.yml Manual promotion entrypoint; resolves release info and calls the reusable dashboard updater.
.github/workflows/reusable-update-dashboard.yml Reusable workflow that updates status.json on gh-pages and pushes the change.
.github/workflows/sync-release-stage-versions.yml Regenerates the promotion workflow’s version dropdown from published release tags and pushes updates to the default branch.

Comment thread .github/workflows/update-release-stage.yml
Comment thread .github/workflows/sync-release-stage-versions.yml
Comment thread .github/workflows/reusable-update-dashboard.yml
@meladRaouf
meladRaouf force-pushed the add-release-dashboard-promote-workflow branch from 4856c70 to 146012b Compare July 14, 2026 09:53
meladRaouf and others added 2 commits July 14, 2026 10:55
- Add update-release-stage.yml: manual "Promote Release Stage" workflow
  to record that a version has reached Beta (production_ready), Delivery
  Testing, or Production. Looks up the GitHub Release for the version to
  find the APK download URL automatically. The version input is a choice
  dropdown seeded with the 15 most recent published release tags, wrapped
  in marker comments for automated regeneration.
- Add reusable-update-dashboard.yml: reusable workflow that writes the
  promoted version's info into status.json on gh-pages and commits/pushes
  the change.
- Add sync-release-stage-versions.yml: workflow triggered on
  `release: published` (and manual dispatch) that regenerates the version
  dropdown in update-release-stage.yml from the live list of release tags
  and commits the change back to main, keeping the list in sync.
- Avoid script injection by never interpolating workflow_dispatch inputs
  directly into `run:` blocks; all user-controlled values are passed via
  `env:` and referenced as shell variables instead.
- Grant contents:write permission in update-release-stage.yml so the
  reusable update-dashboard workflow can push to gh-pages
- Checkout the default branch explicitly in sync-release-stage-versions.yml
  since release:published triggers run on a detached tag ref
- Add a concurrency group to reusable-update-dashboard.yml to serialize
  concurrent updates to the shared gh-pages status.json
@meladRaouf
meladRaouf force-pushed the add-release-dashboard-promote-workflow branch from 146012b to bb7f415 Compare July 14, 2026 09:56
@sonarqubecloud

Copy link
Copy Markdown

@meladRaouf
meladRaouf merged commit 73efe18 into main Jul 15, 2026
14 checks passed
@meladRaouf
meladRaouf deleted the add-release-dashboard-promote-workflow branch July 15, 2026 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants