ci: add e2e-staging workflow for nightly staging tests - #1253
Conversation
Co-authored-by: piotr-iohk <piotr-iohk@users.noreply.github.com>
Regtest APKDownload bitkit-dev-debug universal APK (expires in 30 days). |
|
Co-authored-by: piotr-iohk <piotr-iohk@users.noreply.github.com>
- Remove pull_request trigger, keep only schedule (0 4 * * *) and workflow_dispatch - Remove transfer_staging shard (@transfer_1|@transfer_max) - deferred to PR B - Remove draft check conditions (no longer needed without PR trigger) - Keep notify-failure with pinned slack action SHA Co-authored-by: piotr-iohk <piotr-iohk@users.noreply.github.com>
Co-authored-by: piotr-iohk <piotr-iohk@users.noreply.github.com>
Co-authored-by: piotr-iohk <piotr-iohk@users.noreply.github.com>
There was a problem hiding this comment.
Reviewed 1 file: adds a nightly and manually dispatched E2E Staging workflow that builds the staging regtest APK and runs four staging shards, notifying Slack when any upstream job fails. 1 non-blocking finding inline.
Coverage
Total: 0% (whole PR, 1 file)
- Journeys: 0% - the change is CI workflow config and exercises no user journey
- Unit tests: 0% - no production Kotlin changes; the repo's only test that reads workflow artifact paths is BuildOutputContractTest.kt
- QA: 0% - Manual Tests not run
Reviewed by Codex (deepseek-v4.1-flash-high) via gh-pr-review-loop skill
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: bitkit-e2e-apk-staging_${{ github.run_number }} | ||
| path: app/build/outputs/bitkit/devDebug/bitkit_e2e.apk |
There was a problem hiding this comment.
The new workflow reads the collected APK from app/build/outputs/bitkit/devDebug, which makes it another consumer of the AGP-collected output, but BuildOutputContractTest.kt still lists only Justfile, e2e.yml, e2e_migration.yml, release.yml, release-internal.yml, and .agents/commands/release.md. That list is what catches a consumer left behind if the collected output path moves. Could we add .github/workflows/e2e-staging.yml to ARTIFACT_CONSUMERS in BuildOutputContractTest.kt?
Fixes synonymdev/bitkit-e2e-tests#221 (PR A — android)
Description
Adds a new workflow
.github/workflows/e2e-staging.ymlthat runs staging E2E tests:Triggers:
schedule: runs daily at 04:00 UTC (after migration cron at 02:00)workflow_dispatch: manual dispatch with inputs:e2e_branch— branch of bitkit-e2e-tests to usenotify_slack— checkbox to post failure to Slack (off by default)Staging shards:
@multi_address_2@pubky@hardware_wallet@transfer_max— temporarily omitted; will return in PR B / e2e-tests fix@transfer_1Build: Uses
BACKEND=regtestwithTREZOR_BRIDGE: truematching existing staging build configSlack: Notifies
#bitkit-staging-nightlyviasecrets.SLACK_WEBHOOK_URL_STAGINGon failure (pinned Slack action SHA). Covers failures inbuild-staging,e2e-branch, ande2e-tests-stagingjobs.notify_slackcheckbox is checkedThe existing
e2e.ymlworkflow remains unchanged — thee2e-statusmerge gate is unaffected.Design
N/A — no UI changes.
Preview
N/A
QA Notes
To dispatch after merge:
gh workflow run e2e-staging.yml -f e2e_branch=main # or with Slack notification on failure: gh workflow run e2e-staging.yml -f e2e_branch=main -f notify_slack=trueThe workflow runs nightly at 04:00 UTC or via manual dispatch.