@@ -33,12 +33,14 @@ jobs:
3333 with :
3434 fetch-depth : 0 # Workaround for bug https://github.com/actions/checkout/issues/1471
3535
36- - name : Get latest SDK version
37- if : ${{ inputs.use_latest_sdk_version == true }}
38- id : latest-sdk-version-step
36+ - name : Capture Git Context
37+ shell : bash
38+ id : git-context
3939 run : |
40- latest_tag=$(git describe --tags --abbrev=0)
41- echo "LATEST_TAG=$latest_tag" >> "$GITHUB_OUTPUT"
40+ echo "BRANCH_NAME=${{ github.head_ref || github.ref_name }}" >> $GITHUB_ENV
41+ COMMIT_HASH="${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}"
42+ echo "COMMIT_HASH=${COMMIT_HASH:0:7}" >> $GITHUB_ENV
43+ echo "LATEST_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
4244
4345 - name : Set Default Firebase Distribution Groups
4446 shell : bash
5052 PUBLIC_BUILDS_GROUP : public
5153 # Input variables
5254 CURRENT_BRANCH : ${{ github.ref }}
55+ USE_LATEST_SDK_VERSION : ${{ inputs.use_latest_sdk_version }}
5356 run : |
5457 # Initialize with the default distribution group
5558 distribution_groups=("$ALL_BUILDS_GROUP")
@@ -100,30 +103,28 @@ jobs:
100103 with :
101104 subdirectory : apps/${{ matrix.sample-app.name }}
102105 lane : " update_flutter_android_app_version"
103- options : ${{ inputs.use_latest_sdk_version == true && format('{{"version_name":"{0}"}}', steps.latest-sdk-version-step.outputs .LATEST_TAG) || '' }}
106+ options : ${{ inputs.use_latest_sdk_version == true && format('{{"version_name":"{0}"}}', env .LATEST_TAG) || '' }}
104107 env :
105108 SDK_VERSION_NAME : ${{ env.SDK_VERSION_NAME }}
106109 APP_VERSION_NAME : ${{ env.APP_VERSION_NAME }}
107110 APP_VERSION_CODE : ${{ env.APP_VERSION_CODE }}
108111
109112 - name : Setup workspace credentials in flutter environment files
110- env :
111- BRANCH_NAME : ${{ github.head_ref || github.ref_name }}
112- COMMIT_HASH : ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
113+ shell : bash
113114 run : |
114115 ENV_FILE=".env"
115116 touch "$ENV_FILE"
116117 echo "BUILD_TIMESTAMP=$(date +%s)" >> "$ENV_FILE"
117118 echo "CDP_API_KEY=${{ secrets[format('CUSTOMERIO_{0}_WORKSPACE_CDP_API_KEY', matrix.sample-app.name)] }}" >> "$ENV_FILE"
118119 echo "SITE_ID=${{ secrets[format('CUSTOMERIO_{0}_WORKSPACE_SITE_ID', matrix.sample-app.name)] }}" >> "$ENV_FILE"
119120 echo "WORKSPACE_NAME=${{ matrix.sample-app.cio-workspace-name }}" >> "$ENV_FILE"
120- echo "BRANCH_NAME=$BRANCH_NAME" >> "$ENV_FILE"
121- echo "COMMIT_HASH=${COMMIT_HASH:0:7 }" >> "$ENV_FILE"
122- LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo " untagged")
121+ echo "BRANCH_NAME=${{ env. BRANCH_NAME }} " >> "$ENV_FILE"
122+ echo "COMMIT_HASH=${{ env. COMMIT_HASH } }" >> "$ENV_FILE"
123+ LAST_TAG="${LATEST_TAG:- untagged}"
123124 COMMITS_AHEAD=$(git rev-list $LAST_TAG..HEAD --count 2>/dev/null || echo "untracked")
124125 echo "COMMITS_AHEAD_COUNT=$COMMITS_AHEAD" >> "$ENV_FILE"
125126 if [ "${{ inputs.use_latest_sdk_version }}" == "true" ]; then
126- echo "SDK_VERSION=${{ steps.latest-sdk-version-step.outputs .LATEST_TAG }}" >> "$ENV_FILE"
127+ echo "SDK_VERSION=${{ env .LATEST_TAG }}" >> "$ENV_FILE"
127128 fi
128129
129130 # Make sure to fetch dependencies only after updating the version numbers and workspace credentials
@@ -154,6 +155,23 @@ jobs:
154155 FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_CREDS_B64 : ${{ secrets.FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_CREDS_B64 }}
155156 continue-on-error : true # continue to build iOS app even if Android build fails
156157
158+ - name : Send Slack Notification for Sample App Builds (Android)
159+ if : always()
160+ uses : customerio/mobile-ci-tools/github-actions/slack-notify-sample-app/v1
161+ with :
162+ build_status : ${{ steps.android_build.outcome }}
163+ app_icon_emoji : " :flutter:"
164+ app_name : " Flutter"
165+ firebase_app_id : ${{ secrets[format('SAMPLE_APPS_{0}_FIREBASE_APP_ID_ANDROID', matrix.sample-app.name)] }}
166+ firebase_distribution_groups : ${{ env.firebase_distribution_groups }}
167+ git_context : " ${{ env.BRANCH_NAME }} (${{ env.COMMIT_HASH }})"
168+ icon_url : " https://img.icons8.com/color/512/flutter.png"
169+ instructions_guide_link : ${{ secrets.SAMPLE_APPS_INSTRUCTIONS_GUIDE_LINK }}
170+ platform : " android"
171+ sdk_name : " Flutter SDK"
172+ sdk_version : ${{ env.SDK_VERSION_NAME }}
173+ slack_webhook_url : ${{ secrets.SLACK_WEBHOOK_URL }}
174+
157175 build-ios-sample-app :
158176 strategy :
159177 fail-fast : false # if one sample app fails to build, let the other sample apps continue to build and not cancel them.
@@ -177,12 +195,14 @@ jobs:
177195 with :
178196 fetch-depth : 0 # Workaround for bug https://github.com/actions/checkout/issues/1471
179197
180- - name : Get latest SDK version
181- if : ${{ inputs.use_latest_sdk_version == true }}
182- id : latest-sdk-version-step
198+ - name : Capture Git Context
199+ shell : bash
200+ id : git-context
183201 run : |
184- latest_tag=$(git describe --tags --abbrev=0)
185- echo "LATEST_TAG=$latest_tag" >> "$GITHUB_OUTPUT"
202+ echo "BRANCH_NAME=${{ github.head_ref || github.ref_name }}" >> $GITHUB_ENV
203+ COMMIT_HASH="${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}"
204+ echo "COMMIT_HASH=${COMMIT_HASH:0:7}" >> $GITHUB_ENV
205+ echo "LATEST_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
186206
187207 - name : Set Default Firebase Distribution Groups
188208 shell : bash
@@ -194,6 +214,7 @@ jobs:
194214 PUBLIC_BUILDS_GROUP : public
195215 # Input variables
196216 CURRENT_BRANCH : ${{ github.ref }}
217+ USE_LATEST_SDK_VERSION : ${{ inputs.use_latest_sdk_version }}
197218 run : |
198219 # Initialize with the default distribution group
199220 distribution_groups=("$ALL_BUILDS_GROUP")
@@ -245,30 +266,28 @@ jobs:
245266 with :
246267 subdirectory : apps/${{ matrix.sample-app.name }}
247268 lane : " update_flutter_ios_app_version"
248- options : ${{ inputs.use_latest_sdk_version == true && format('{{"version_name":"{0}"}}', steps.latest-sdk-version-step.outputs .LATEST_TAG) || '' }}
269+ options : ${{ inputs.use_latest_sdk_version == true && format('{{"version_name":"{0}"}}', env .LATEST_TAG) || '' }}
249270 env :
250271 SDK_VERSION_NAME : ${{ env.SDK_VERSION_NAME }}
251272 APP_VERSION_NAME : ${{ env.APP_VERSION_NAME }}
252273 APP_VERSION_CODE : ${{ env.APP_VERSION_CODE }}
253274
254275 - name : Setup workspace credentials in flutter environment files
255- env :
256- BRANCH_NAME : ${{ github.head_ref || github.ref_name }}
257- COMMIT_HASH : ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
276+ shell : bash
258277 run : |
259278 ENV_FILE=".env"
260279 touch "$ENV_FILE"
261280 echo "BUILD_TIMESTAMP=$(date +%s)" >> "$ENV_FILE"
262281 echo "CDP_API_KEY=${{ secrets[format('CUSTOMERIO_{0}_WORKSPACE_CDP_API_KEY', matrix.sample-app.name)] }}" >> "$ENV_FILE"
263282 echo "SITE_ID=${{ secrets[format('CUSTOMERIO_{0}_WORKSPACE_SITE_ID', matrix.sample-app.name)] }}" >> "$ENV_FILE"
264283 echo "WORKSPACE_NAME=${{ matrix.sample-app.cio-workspace-name }}" >> "$ENV_FILE"
265- echo "BRANCH_NAME=$BRANCH_NAME" >> "$ENV_FILE"
266- echo "COMMIT_HASH=${COMMIT_HASH:0:7 }" >> "$ENV_FILE"
267- LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo " untagged")
284+ echo "BRANCH_NAME=${{ env. BRANCH_NAME }} " >> "$ENV_FILE"
285+ echo "COMMIT_HASH=${{ env. COMMIT_HASH } }" >> "$ENV_FILE"
286+ LAST_TAG="${LATEST_TAG:- untagged}"
268287 COMMITS_AHEAD=$(git rev-list $LAST_TAG..HEAD --count 2>/dev/null || echo "untracked")
269288 echo "COMMITS_AHEAD_COUNT=$COMMITS_AHEAD" >> "$ENV_FILE"
270289 if [ "${{ inputs.use_latest_sdk_version }}" == "true" ]; then
271- echo "SDK_VERSION=${{ steps.latest-sdk-version-step.outputs .LATEST_TAG }}" >> "$ENV_FILE"
290+ echo "SDK_VERSION=${{ env .LATEST_TAG }}" >> "$ENV_FILE"
272291 fi
273292
274293 - name : Setup workspace credentials in iOS environment files
@@ -315,4 +334,21 @@ jobs:
315334 options : ' {"distribution_groups": "${{ env.firebase_distribution_groups }}"}'
316335 env :
317336 GOOGLE_CLOUD_MATCH_READONLY_SERVICE_ACCOUNT_B64 : ${{ secrets.GOOGLE_CLOUD_MATCH_READONLY_SERVICE_ACCOUNT_B64 }}
318- FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_CREDS_B64 : ${{ secrets.FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_CREDS_B64 }}
337+ FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_CREDS_B64 : ${{ secrets.FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_CREDS_B64 }}
338+
339+ - name : Send Slack Notification for Sample App Builds (iOS)
340+ if : always()
341+ uses : customerio/mobile-ci-tools/github-actions/slack-notify-sample-app/v1
342+ with :
343+ build_status : ${{ steps.ios_build.outcome }}
344+ app_icon_emoji : " :flutter:"
345+ app_name : " Flutter"
346+ firebase_app_id : ${{ secrets[format('SAMPLE_APPS_{0}_FIREBASE_APP_ID_IOS', matrix.sample-app.name)] }}
347+ firebase_distribution_groups : ${{ env.firebase_distribution_groups }}
348+ git_context : " ${{ env.BRANCH_NAME }} (${{ env.COMMIT_HASH }})"
349+ icon_url : " https://img.icons8.com/color/512/flutter.png"
350+ instructions_guide_link : ${{ secrets.SAMPLE_APPS_INSTRUCTIONS_GUIDE_LINK }}
351+ platform : " ios"
352+ sdk_name : " Flutter SDK"
353+ sdk_version : ${{ env.SDK_VERSION_NAME }}
354+ slack_webhook_url : ${{ secrets.SLACK_WEBHOOK_URL }}
0 commit comments