Skip to content

サーバー更新時に最新 APK も登録するようにする - #50

Merged
Atsumi3 merged 3 commits into
mainfrom
claude/app-jar-release-output-m2pekn
Aug 24, 2026
Merged

サーバー更新時に最新 APK も登録するようにする#50
Atsumi3 merged 3 commits into
mainfrom
claude/app-jar-release-output-m2pekn

Conversation

@Atsumi3

@Atsumi3 Atsumi3 commented Aug 24, 2026

Copy link
Copy Markdown
Member

概要

ラズパイでサーバーを更新するとき、Android アプリの APK も新しいものがあれば一緒に登録されるようにしました。
これまでは update-app.sh と upload-apk.sh を別々に実行する必要がありました。

変更内容

  • update-app.sh に sync_apk を追加し、更新の完了後に upload-apk.sh を呼ぶ
  • jar が同一バージョンで早期終了する場合も、APK の確認だけは行う
  • APK の登録に失敗してもサーバーの更新は成功扱いにし、警告を 1 行出すだけにする
  • ロールバックした場合は APK の確認を行わない(trap 解除より後に呼ぶ配置)
  • --skip-apk オプションを追加。サーバーの更新のみ行いたい場合に使う
  • 手元の jar を指定するオフライン更新では APK の確認をスキップする
  • scripts/raspberry-pi/README.md を上記の挙動に合わせて更新

テスト

test-update-app.sh に 7 件のテストを追加しました。オンライン更新経路を通すため curl スタブを GitHub API とダウンロードに対応させています。

  • オンライン更新の成功後に upload-apk.sh が呼ばれる
  • jar が同一バージョンでも upload-apk.sh は呼ばれる
  • APK の登録が失敗しても更新は成功扱いになる
  • --skip-apk のときは呼ばれない
  • オフライン更新のときは呼ばれない
  • upload-apk.sh が配置されていないときは呼ばれず更新は成功する
  • ヘルスチェック失敗で巻き戻したときは呼ばれない

実行結果:

  • test-update-app.sh: passed 60 / failed 0
  • test-install.sh: passed 65 / failed 0
  • test-upload-apk.sh: passed 51 / failed 0
  • test-doctor.sh: passed 50 / failed 0

適用方法

スクリプト自体の入れ替えが必要なため、ラズパイ側で scripts/raspberry-pi を配置し直すか install.sh を再実行してください。


Generated by Claude Code

- 時刻同期後に fake-hwclock へ保存し、RTC のない Raspberry Pi で
  再起動時に時刻が巻き戻るのを防ぐ
- 選択商品のバーコード PDF もキャッシュ対象にし、枠線あり版も
  起動時にウォームアップ。商品の追加・更新・削除をイベントで受けて
  キャッシュを作り直す
- Danger Zone のパスワード照合に接続元ごとのレート制限を追加。
  連続失敗が上限に達している間は照合せず 429 と Retry-After を返す
update-app.sh の最後で upload-apk.sh を呼び、jar が同一バージョンで
早期終了する場合も APK の確認だけは行う。
APK の登録に失敗してもサーバーの更新は成功扱いにし、警告のみ出す。
オフライン更新(jar のパス指定)と --skip-apk 指定時は確認しない。
@github-actions

Copy link
Copy Markdown
Contributor

🎨 Visual Regression Test Results

All visual regression tests passed!

All page screenshots match the expected baselines.

📊 Test Coverage

  • Desktop (1280x720)
  • Tablet (iPad)
  • Mobile (iPhone 13)

@Atsumi3
Atsumi3 merged commit 3a2dd83 into main Aug 24, 2026
7 checks passed
@Atsumi3
Atsumi3 deleted the claude/app-jar-release-output-m2pekn branch August 24, 2026 15:34
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.

1 participant