Repository navigation
Prepare signed version-triggered Google Play builds - #33
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eeea5227a2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - name: Set temporary keystore path | ||
| run: printf 'ANDROID_KEYSTORE_PATH=%s/upload.jks\n' "$RUNNER_TEMP" >> "$GITHUB_ENV" |
There was a problem hiding this comment.
Check out before entering the app working directory
Whenever the version gate enables build-android, this is the first run step, but the job-level default runs it from app/ and checkout does not occur until the following step. On a fresh GitHub-hosted runner that directory does not exist yet, so the shell cannot start and every Android release fails before restoring the keystore. Move checkout ahead of this step or override this step's working directory.
Useful? React with 👍 / 👎.
Ticket
Release preparation for Google Play internal device testing.
Summary
Android releases currently use debug signing and produce an APK. Prepare signed Google Play App Bundles for
com.papyrus.papyrus, with release jobs gated on changes to the committedMAJOR.MINOR.PATCH+BUILDversion rather than tag pushes or workflow counters. Dependency-only pubspec edits skip builds; manual dispatch bootstraps or retries the first unreleased version. Existing web/Linux/Windows artifacts remain supported.Require public HTTPS endpoint settings and upload-key secrets in the GitHub
releaseenvironment. Add internet permission, optional camera support, bundle/ELF 16 KB checks, and setup instructions. Fix Android build blockers with desktop_drop 0.8.4, a licensed vendored unrar_file compatibility patch, and an SLF4J NOP binding. Normalize the reader pin to the workspace revision; both reader commits have identical trees.Testing
1.0.0+1, internet permission, optional camera, signature, all 20 native libraries' ELF alignment,PAGE_ALIGNMENT_16K, and generated APK ZIP alignment.UI evidence
Compatibility and migration
No library-data migration or reader behavior change. Release signing now requires an upload key. CI keeps the existing Flutter 3.41.2 SDK and reads the committed Android build number. Server semantic versions are coordinated by the companion workspace/server changes.
Notes
See
docs/RELEASING.md. Initial client version is unchanged, so merging this preparation skips release builds; dispatch on master after configuring endpoints/signing for the first upload. The validation artifact is not for distribution. Play Console creation/upload is manual; real-device auth/sync and 16 KB execution remain unverified. Account deletion is still required before applicable broader distribution. No store publishing or server provisioning occurs in this PR.Checklist
Companion PRs: PapyrusReader/server#8 and PapyrusReader/papyrus#8.