From 1b002ed5f1349b550baf0b21e8f667e3034797d2 Mon Sep 17 00:00:00 2001 From: Michael Sober Date: Thu, 6 Aug 2026 09:44:16 +0000 Subject: [PATCH 1/6] chore(e2e): add CustomerProfilesPushApp detox integ test Adds the React Native CustomerProfilesPushApp sample (aws-amplify/amplify-js-samples-staging#1127) to the detox E2E matrix and enables the push integ test workflow for this branch. --- .github/integ-config/detox-integ-all.yml | 3 +++ .github/workflows/push-integ-test.yml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/integ-config/detox-integ-all.yml b/.github/integ-config/detox-integ-all.yml index 32dc42c76be..e472ab94553 100644 --- a/.github/integ-config/detox-integ-all.yml +++ b/.github/integ-config/detox-integ-all.yml @@ -23,3 +23,6 @@ - test_name: 'integ_rn_ios_passkeys' working_directory: amplify-js-samples-staging/samples/react-native/auth/Passkeys timeout_minutes: 120 +- test_name: 'integ_rn_ios_push_notifications_customer_profiles' + working_directory: amplify-js-samples-staging/samples/react-native/push-notifications/CustomerProfilesPushApp + timeout_minutes: 120 diff --git a/.github/workflows/push-integ-test.yml b/.github/workflows/push-integ-test.yml index 2458fffc96d..41bb3f81535 100644 --- a/.github/workflows/push-integ-test.yml +++ b/.github/workflows/push-integ-test.yml @@ -8,7 +8,7 @@ concurrency: on: push: branches: - - replace-with-your-branch + - chore/push-notifications-tests jobs: e2e: From 1bbbb55fa2785547c8d557f17506c0c160d88e86 Mon Sep 17 00:00:00 2001 From: Michael Sober Date: Thu, 6 Aug 2026 12:26:38 +0000 Subject: [PATCH 2/6] chore: trigger integ test run From 66e960c13a5b82449f2c74bab9558a3b78c901ef Mon Sep 17 00:00:00 2001 From: Michael Sober Date: Thu, 6 Aug 2026 13:41:03 +0000 Subject: [PATCH 3/6] chore: trigger integ test run From 8f36fe13c0de60a4483c47872144e37c372f86d2 Mon Sep 17 00:00:00 2001 From: Michael Sober Date: Thu, 6 Aug 2026 15:16:26 +0000 Subject: [PATCH 4/6] chore(e2e): run only the customer profiles detox test on push, upload artifacts Scopes the push trigger to a single detox run instead of the full release-verification matrix, and uploads Detox artifacts/reports so failures can be inspected. --- .github/workflows/callable-e2e-test-detox.yml | 11 +++++++++++ .github/workflows/push-integ-test.yml | 13 +++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/callable-e2e-test-detox.yml b/.github/workflows/callable-e2e-test-detox.yml index c060b61c68f..f9f6be898a2 100644 --- a/.github/workflows/callable-e2e-test-detox.yml +++ b/.github/workflows/callable-e2e-test-detox.yml @@ -165,3 +165,14 @@ jobs: $GITHUB_WORKSPACE/amplify-js/scripts/retry-yarn-script.sh -s 'detox test -c ios.sim.debug -u' -n 3 working-directory: ${{ inputs.working_directory }} shell: bash + - name: Upload Detox artifacts + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + if: always() + with: + name: ${{ inputs.test_name }}-detox-artifacts + if-no-files-found: ignore + path: | + ${{ inputs.working_directory }}/artifacts + ${{ inputs.working_directory }}/reports + retention-days: 3 + overwrite: true diff --git a/.github/workflows/push-integ-test.yml b/.github/workflows/push-integ-test.yml index 41bb3f81535..acedb6d9b78 100644 --- a/.github/workflows/push-integ-test.yml +++ b/.github/workflows/push-integ-test.yml @@ -11,6 +11,15 @@ on: - chore/push-notifications-tests jobs: - e2e: + # Runs only the Customer Profiles push notifications detox test instead of the + # full release-verification matrix. The detox job is self-sufficient: it checks + # out amplify-js, installs and builds it, sets up samples-staging and publishes + # to Verdaccio itself, so the prebuild jobs (which only warm shared caches) are + # not needed here. + customer-profiles-push-notifications: secrets: inherit - uses: ./.github/workflows/callable-release-verification.yml \ No newline at end of file + uses: ./.github/workflows/callable-e2e-test-detox.yml + with: + test_name: integ_rn_ios_push_notifications_customer_profiles + working_directory: amplify-js-samples-staging/samples/react-native/push-notifications/CustomerProfilesPushApp + timeout_minutes: 120 From 0c3c9a4625e101c9c1ab68514f794dda97b4c82b Mon Sep 17 00:00:00 2001 From: Michael Sober Date: Fri, 7 Aug 2026 06:09:38 +0000 Subject: [PATCH 5/6] chore: trigger integ test run From b100508562641786f60be65e7661d775da30ee30 Mon Sep 17 00:00:00 2001 From: Michael Sober Date: Fri, 7 Aug 2026 08:32:39 +0000 Subject: [PATCH 6/6] chore(e2e): revert push-trigger and artifact-upload scaffolding Restores .github/workflows/push-integ-test.yml and .github/workflows/callable-e2e-test-detox.yml to their state on main, leaving only the detox-integ-all.yml matrix entry in this PR. The push trigger and artifact upload were temporary scaffolding used to verify the new test. --- .github/workflows/callable-e2e-test-detox.yml | 11 ----------- .github/workflows/push-integ-test.yml | 15 +++------------ 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/.github/workflows/callable-e2e-test-detox.yml b/.github/workflows/callable-e2e-test-detox.yml index f9f6be898a2..c060b61c68f 100644 --- a/.github/workflows/callable-e2e-test-detox.yml +++ b/.github/workflows/callable-e2e-test-detox.yml @@ -165,14 +165,3 @@ jobs: $GITHUB_WORKSPACE/amplify-js/scripts/retry-yarn-script.sh -s 'detox test -c ios.sim.debug -u' -n 3 working-directory: ${{ inputs.working_directory }} shell: bash - - name: Upload Detox artifacts - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 - if: always() - with: - name: ${{ inputs.test_name }}-detox-artifacts - if-no-files-found: ignore - path: | - ${{ inputs.working_directory }}/artifacts - ${{ inputs.working_directory }}/reports - retention-days: 3 - overwrite: true diff --git a/.github/workflows/push-integ-test.yml b/.github/workflows/push-integ-test.yml index acedb6d9b78..2458fffc96d 100644 --- a/.github/workflows/push-integ-test.yml +++ b/.github/workflows/push-integ-test.yml @@ -8,18 +8,9 @@ concurrency: on: push: branches: - - chore/push-notifications-tests + - replace-with-your-branch jobs: - # Runs only the Customer Profiles push notifications detox test instead of the - # full release-verification matrix. The detox job is self-sufficient: it checks - # out amplify-js, installs and builds it, sets up samples-staging and publishes - # to Verdaccio itself, so the prebuild jobs (which only warm shared caches) are - # not needed here. - customer-profiles-push-notifications: + e2e: secrets: inherit - uses: ./.github/workflows/callable-e2e-test-detox.yml - with: - test_name: integ_rn_ios_push_notifications_customer_profiles - working_directory: amplify-js-samples-staging/samples/react-native/push-notifications/CustomerProfilesPushApp - timeout_minutes: 120 + uses: ./.github/workflows/callable-release-verification.yml \ No newline at end of file