Skip to content

feat: persist probe history#196

Open
pwltr wants to merge 1 commit into
mainfrom
probe/history
Open

feat: persist probe history#196
pwltr wants to merge 1 commit into
mainfrom
probe/history

Conversation

@pwltr

@pwltr pwltr commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add canonical per-run probe history artifacts under probe-history/<run-id>/.
  • Include probe results, report, readiness, run metadata, and current-run Android app logs in the history snapshot.
  • Clear app logs before Android runs so collected logs only belong to the current run.

Testing

  • Ran bash -n ci_run_android.sh.
  • Ran npx eslint test/helpers/probe.ts.
  • Ran git diff --check.

@pwltr pwltr requested a review from piotr-iohk July 15, 2026 17:23

@piotr-iohk piotr-iohk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice foundation for durable probe history. The probe-history/<run-id>/ contract + probe-run.json metadata look good, and clearing app logs before the Android run makes collected logs match that run.

This lines up with the storage half of synonymdev/bitkit-nightly#30. A couple of doc/contract issues should be fixed before merge.

Request changes

  1. Docs reference a missing script
    docs/mainnet-probe.md documents:

    node scripts/render-probe-trends.mjs

    That script is not in this PR. Please either add it, or remove/adjust that section so we don’t document a command that doesn’t exist.

  2. Keep probe-history/ compact
    Copying Android app-logs/ into probe-history/<run-id>/ is fine for short-lived Actions artifacts, but nightly treats this tree as the long-term history contract and will commit it to the probe-history branch. App logs are ~1–2 MB per wallet per run and will bloat that branch quickly.
    Prefer either:

    • omit app-logs/ from probe-history/ (keep them only under top-level artifacts/app-logs/), or
    • document clearly that consumers must strip app-logs/ before persisting to git, and have nightly do that.

CI compatibility (ci_run_android.sh)

Checked call sites in bitkit-android (e2e.yml, e2e_migration.yml), bitkit-e2e-tests migration setup, and nightly/probe workflows.

The new helpers look safe for non-probe E2E:

  • clear_app_logs failures are non-fatal (important when the app isn’t installed yet at script start).
  • copy_app_logs_to_probe_history is a no-op unless probe-history/ exists, which regular E2E specs don’t create.
  • Per-attempt artifact dirs (ATTEMPT) mean the new rm -rf on app-logs won’t clobber other attempts.

Only expected side effect: a benign “Could not clear app logs …” warning on fresh emulators before first install. Not a blocker.

Happy to approve after the docs + history-contract 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