Skip to content

ci(e2e): allow iOS and Android E2E jobs to run on manual dispatch - #13788

Open
MounirDhahri wants to merge 2 commits into
mainfrom
ci/allow-manual-e2e-dispatch
Open

ci(e2e): allow iOS and Android E2E jobs to run on manual dispatch#13788
MounirDhahri wants to merge 2 commits into
mainfrom
ci/allow-manual-e2e-dispatch

Conversation

@MounirDhahri

@MounirDhahri MounirDhahri commented Jul 20, 2026

Copy link
Copy Markdown
Member

This PR resolves []

Description

Both the iOS and Android E2E Tests (Maestro) workflows already declare workflow_dispatch, but the e2e-tests job was gated on:

if: ${{ github.event.workflow_run.conclusion == 'success' }}

For a workflow_dispatch (or schedule) event there is no workflow_run object, so this evaluates to false and the job is skipped — clicking "Run workflow" starts a run that does nothing.

This relaxes the guard to run the job for non-workflow_run events, while preserving the original behavior when chained from the build workflow (still only runs on a successful build):

if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }}

After this, either suite can be triggered manually via Actions → (iOS/Android) E2E Tests (Maestro) → Run workflow, or gh workflow run ios-e2e-maestro.yml --ref <branch> / gh workflow run android-e2e-maestro.yml --ref <branch>.

PR Checklist

  • I have tested my changes on the following platforms:
    • Android.
    • iOS.
  • I hid my changes behind a feature flag, or they don't need one.
  • I have included screenshots or videos at least on Android, or I have not changed the UI.
  • I have added tests, or my changes don't require any.
  • I added an app state migration, or my changes do not require one.
  • I have documented any follow-up work that this PR will require, or it does not require any.
  • I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

  • I would like at least one of the reviewers to run this PR on the simulator or device.
Changelog updates

Changelog updates

Dev changes

  • Allow the iOS and Android Maestro E2E workflows to run on manual dispatch (the job previously skipped for non-build triggers).

Need help with something? Have a look at our docs, or get in touch with us.

Assisted-by: Claude:Opus-4.8

The job gated on github.event.workflow_run.conclusion == 'success',
which is false for workflow_dispatch events (no workflow_run object),
so 'Run workflow' started the run but skipped the e2e-tests job. Run
the job for non-workflow_run events while keeping the success gate when
chained from the build workflow.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@MounirDhahri MounirDhahri self-assigned this Jul 20, 2026
Same fix as iOS: the job gated on workflow_run.conclusion == 'success'
skipped for workflow_dispatch events. Run for non-workflow_run events
while keeping the success gate when chained from the build workflow.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

Assisted-by: Claude:Opus-4.8 [claude-code]
@MounirDhahri MounirDhahri changed the title ci(e2e): allow iOS E2E job to run on manual dispatch ci(e2e): allow iOS and Android E2E jobs to run on manual dispatch Jul 20, 2026
@github-actions github-actions Bot deleted a comment from claude Bot Jul 20, 2026
@artsyit

artsyit commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

This PR contains the following changes:

  • Dev changes (Allow the iOS and Android Maestro E2E workflows to run on manual dispatch (the job previously skipped for non-build triggers). - MounirDhahri)

Generated by 🚫 dangerJS against e0fe467

@claude

claude Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Code Review

Summary

This PR fixes the iOS and Android Maestro E2E Tests workflows so they actually run when triggered manually. Both workflows already declared workflow_dispatch, but the e2e-tests job was gated on github.event.workflow_run.conclusion == 'success', which evaluates to false for a workflow_dispatch event (no workflow_run object exists), silently skipping the job. The guard is relaxed to github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success'.

Issues Found

None blocking. The fix is minimal, correct, and preserves the original behavior.

The expression logic is sound:

  • workflow_dispatchevent_name != 'workflow_run' is true → job runs. ✅
  • workflow_run (build completed) → first clause is false, so it falls through to the success gate → job runs only on a successful build, exactly as before. ✅

The change is identical and consistent across both ios-e2e-maestro.yml and android-e2e-maestro.yml, and the explanatory comment is a nice touch.

🟢 Suggestion (minor, non-blocking): The added comment says "Run for manual/scheduled triggers...", but these e2e workflows only declare workflow_run and workflow_dispatch triggers — there is no schedule trigger in their on: blocks (the schedule trigger lives on the build workflows, which reach e2e via workflow_run). So a scheduled run would arrive as a workflow_run event and still be subject to the success gate. Consider dropping "scheduled" from the comment to avoid implying a direct schedule trigger exists here. Purely cosmetic.

Areas Reviewed

  • Architecture & Design: Correct use of GitHub Actions event context. No changes needed to downstream steps — the S3 Artsy-latest download step means a manual dispatch tests against the most recent published QA build, which is the expected behavior.
  • Security: No change to secrets handling or permissions.
  • Bugs & Edge Cases: Verified the boolean expression covers both event types correctly.
  • Testing: N/A — CI config change; no unit tests apply.

Notes

  • No UI changes, so screenshots are correctly not required.
  • LLM assistance is properly disclosed (Assisted-by: Claude:Opus-4.8) per the RFC. 👍

Nice clean fix. ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants