Skip to content
This repository was archived by the owner on May 13, 2026. It is now read-only.

ci(tauri-release): always dump + upload smoke-test app logs - #796

Merged
shiba4life merged 1 commit into
mainfrom
ci/tauri-smoke-always-log
May 1, 2026
Merged

ci(tauri-release): always dump + upload smoke-test app logs#796
shiba4life merged 1 commit into
mainfrom
ci/tauri-smoke-always-log

Conversation

@shiba4life

Copy link
Copy Markdown
Collaborator

Summary

The Tauri `dmg-smoke` step launches the bundled app and probes `/api/health`, but only prints `$RUNNER_TEMP/app.log` on failure. Successful runs discarded the app's startup output entirely, which made debugging anything (flaky behavior, slow startup, deprecation warnings) require a failure to have already happened.

This PR makes the smoke logs always visible:

  1. Replace the `if: failure()` dump with `if: always()`.
  2. Print both log sources, not just one:
  3. Upload both as a `dmg-smoke-app-logs` artifact (14-day retention) so they're downloadable for offline triage.

Why both logs

The two streams capture different startup phases. stdout has panics + the few seconds before the tracing subscriber is wired; the file logger has structured `tracing::*` output once `init_pre_builder_file_logger()` runs. Triaging a startup failure usually needs the union — printing only stdout was leaving the structured-trace half on the floor.

Test plan

  • YAML syntax checked locally (file edits compile-cleanly with the existing structure)
  • CI green on this PR
  • Next `workflow_dispatch` of `tauri-release.yml` shows both log sections in the dmg-smoke step output

🤖 Generated with Claude Code

The dmg-smoke step launches the bundled app and probes /api/health, but
only `cat $RUNNER_TEMP/app.log` on failure. Successful runs silently
discarded the app's startup output, which made debugging flaky cases
require a flaky case to have already happened.

Replace the failure-only dump with a `if: always()` step that prints
both log sources:

- `$RUNNER_TEMP/app.log` — process stdout/stderr (panics, early prints
  before the tracing subscriber is composed)
- `~/Library/Logs/com.folddb.app/FoldDB.log` — tauri-plugin-log output
  written by the pre-Builder file logger added in #777

Also upload both as a `dmg-smoke-app-logs` artifact (14-day retention)
so they survive past the workflow's log-truncation window and can be
downloaded for offline triage.

Both logs are small (a few KB at most for a 30s smoke run) so the
extra artifact is cheap. `if-no-files-found: ignore` keeps the step
quiet when one or both logs are absent (e.g. early process exit before
either logger initialises).
@shiba4life
shiba4life enabled auto-merge May 1, 2026 21:37
@shiba4life
shiba4life added this pull request to the merge queue May 1, 2026
Merged via the queue into main with commit 3418c4a May 1, 2026
16 checks passed
@shiba4life
shiba4life deleted the ci/tauri-smoke-always-log branch May 1, 2026 21:54
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant