Commit Graph
2 Commits
Author SHA1 Message Date
hectorqinandClaude Opus 5.5 4e149c73d7 ci: release only for v* tags or manual runs; CI on main; Android SDK packages
- main is the long-lived development branch: release.yml no longer runs on
  a push to it, only on v* tags and workflow_dispatch. ci.yml now runs on
  every branch push, main included.
- android-actions/setup-android's default package list includes `tools`,
  which current command-line tools no longer carry, so sdkmanager failed;
  install exactly platform-tools, android-35 and build-tools 35.0.1.
- reader-chrome.test.ts left its React roots mounted; a scheduled commit
  could land after jsdom teardown and fail the run with an unhandled
  "Right-hand side of 'instanceof' is not an object" (all tests passing).
  Unmount in afterEach.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 10:19:56 +00:00
hectorqinandClaude Opus 5.5 d7c557b066 ci: GitHub Actions build/test and multi-arch Docker Hub release
ci.yml (PRs, non-main pushes, and called by release.yml):
- server: typecheck, test, build
- web: typecheck, test (with server deps, for search parity), build
- UI review: production bundle in Playwright's Chromium, screenshots kept
- Android: shell contract check, web assets staged and verified, debug APK

release.yml (main, v* tags, manual):
- runs CI first; nothing is published from a red build
- builds hectorqin/reader-pro for linux/amd64 and linux/arm64 on native
  runners (no QEMU), pushes by digest, then one job creates the multi-arch
  tags: main + sha-<short> for main; x.y.z, x.y, latest + sha for tags
- needs DOCKERHUB_USERNAME and DOCKERHUB_TOKEN repository secrets

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 10:09:32 +00:00