Skip to content

Commit 9c12c8d

Browse files
authored
GHA Releases: Remove concurrency and fix orchestrator (#7688)
Task/Issue URL: https://app.asana.com/1/137249556945/task/1213148478389361 ### Description This PR fixes the concurrency issues and fixes the inputs passed to the orchestrator Also changes the order of Mattermost messages <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Changes modify the sequencing and parameters of release automation workflows; mistakes could cause releases to build from the wrong ref or run steps in an unintended order. > > **Overview** > The release GitHub Actions orchestration is adjusted to avoid concurrency/ordering issues: `release_orchestrator.yml` drops workflow-level `concurrency`, `upload-play-store` now waits on Asana task creation, and `upload-internal` is invoked with an explicit `ref` (`develop`). > > Ref handling is standardized so called workflows consistently use `inputs.ref` (instead of `github.event.inputs.ref`), and `release_upload_internal.yml` now accepts a required `ref` input and checks out `${{ inputs.ref || github.ref }}`. Notifications are tweaked by moving the “release starting” Mattermost message into the tag-creation workflow and removing it from the Asana task workflow, with a shared `emoji_start` env added where needed. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 95a775c. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent 21bbba2 commit 9c12c8d

File tree

5 files changed

+21
-17
lines changed

5 files changed

+21
-17
lines changed

.github/workflows/release_create_tag.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ on:
1818
env:
1919
ASANA_PAT: ${{ secrets.ASANA_ACCESS_TOKEN }}
2020
GH_TOKEN: ${{ secrets.GT_DAXMOBILE }}
21+
emoji_start: ":flight_departure:" # 🛫
2122
emoji_info: ":information_source:" # ℹ️
2223

2324
concurrency:
@@ -74,6 +75,16 @@ jobs:
7475
ruby-version: 2.7.2
7576
bundler-cache: true
7677

78+
- name: Notify Mattermost of Release starting
79+
id: send-mm-release-starting
80+
uses: duckduckgo/native-github-asana-sync@v2.0
81+
with:
82+
mattermost-token: ${{ secrets.MM_AUTH_TOKEN }}
83+
mattermost-team-id: ${{ secrets.MM_TEAM_ID }}
84+
mattermost-channel-name: ${{ vars.MM_RELEASE_NOTIFY_CHANNEL }}
85+
mattermost-message: ${{env.emoji_start}} Starting release process for version ${{ inputs.app-version }}
86+
action: 'send-mattermost-message'
87+
7788
- name: Use fastlane lane to create and push tagged release
7889
id: create_git_tag
7990
run: |

.github/workflows/release_create_task.yml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ on:
1717

1818
env:
1919
ASANA_PAT: ${{ secrets.ASANA_ACCESS_TOKEN }}
20-
emoji_start: ":flight_departure:" # 🛫
2120
emoji_info: ":information_source:" # ℹ️
2221

2322
concurrency:
@@ -43,16 +42,6 @@ jobs:
4342
with:
4443
fetch-depth: 0
4544

46-
- name: Notify Mattermost of Release starting
47-
id: send-mm-release-starting
48-
uses: duckduckgo/native-github-asana-sync@v2.0
49-
with:
50-
mattermost-token: ${{ secrets.MM_AUTH_TOKEN }}
51-
mattermost-team-id: ${{ secrets.MM_TEAM_ID }}
52-
mattermost-channel-name: ${{ vars.MM_RELEASE_NOTIFY_CHANNEL }}
53-
mattermost-message: ${{env.emoji_start}} Starting release process for version ${{ inputs.app-version }}
54-
action: 'send-mattermost-message'
55-
5645
- name: Install dependencies for create-asana-public-release task
5746
run: |
5847
python -m pip install --upgrade pip

.github/workflows/release_orchestrator.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ on:
88
required: true
99
default: 'PLACEHOLDER'
1010

11-
concurrency:
12-
group: ${{ github.workflow }}-${{ github.ref }}
13-
cancel-in-progress: true
14-
1511
jobs:
1612
create-release-tag:
1713
uses: ./.github/workflows/release_create_tag.yml
@@ -27,7 +23,7 @@ jobs:
2723
secrets: inherit
2824

2925
upload-play-store:
30-
needs: create-release-tag
26+
needs: create-asana-release-task
3127
uses: ./.github/workflows/release_upload_play_store.yml
3228
with:
3329
ref: ${{ inputs.app-version }}
@@ -36,4 +32,6 @@ jobs:
3632
upload-internal:
3733
needs: upload-play-store
3834
uses: ./.github/workflows/release_upload_internal.yml
35+
with:
36+
ref: 'develop'
3937
secrets: inherit

.github/workflows/release_upload_internal.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ on:
44
schedule:
55
- cron: '15 2 * * *' # run at 2:15 AM UTC
66
workflow_call:
7+
inputs:
8+
ref:
9+
description: 'Ref to build APK from (branch, tag, commit)'
10+
type: string
11+
required: true
712
workflow_dispatch:
813

914
env:
@@ -25,6 +30,7 @@ jobs:
2530
submodules: recursive
2631
token: ${{ secrets.GT_DAXMOBILE }}
2732
fetch-depth: 0
33+
ref: ${{ inputs.ref || github.ref }}
2834

2935
- name: Set up JDK version
3036
uses: actions/setup-java@v4

.github/workflows/release_upload_play_store.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
with:
3535
submodules: recursive
3636
token: ${{ secrets.GT_DAXMOBILE }}
37-
ref: ${{ github.event.inputs.ref }}
37+
ref: ${{ inputs.ref }}
3838

3939
- name: Setup Gradle
4040
uses: gradle/actions/setup-gradle@v5

0 commit comments

Comments
 (0)