Commit graph

5 commits

Author SHA1 Message Date
Chmouel Boudjnah
9694282e15
chore: Ignore local personal Copilot CLI instructions
Some checks are pending
Build / build (push) Waiting to run
Added a personal instruction file for GitHub Copilot to the gitignore
list to prevent local development preferences from being tracked in
version control.

Signed-off-by: Chmouel Boudjnah <chmouel@chmouel.com>
2026-09-01 20:32:19 +02:00
Chmouel Boudjnah
36050777f9
feat(release): publish to the Google Play internal track (#36)
Liseur ships as an APK on GitHub releases and through F-Droid. Play is a
third channel, and the point of this change is that it is the least
load-bearing of the three: the tag that publishes a release now also
builds an app bundle and pushes it to internal testing, and every part of
that is arranged so it cannot take the other two down with it.

Nothing about the APK path moves. F-Droid's recipe builds
assembleRelease and never sees fastlane/Fastfile, no Gradle publishing
plugin is applied, and bundleRelease is an additional output rather than
a replacement. The workflow step skips itself when the service account
secret is absent, so forks still cut releases, and is continue-on-error
so a rejected upload is not what fails one.

Only the changelog is pushed from here. The store listing stays in the
console, because Play holds declarations that no file in this repository
describes -- data safety, content rating, target audience -- and an
accidental metadata push is a listing change under review.

Play also requires a privacy policy at a public URL, so docs/PRIVACY.md
says what the app actually does: no collection, no trackers, network only
to the book server you enter and to a dictionary lookup that is off until
you turn it on. GitHub Pages serves it from main /docs, which makes it a
document that changes in a commit rather than in a console text box.

The upload credential is the existing account-level service account,
already in pass; hack/release --sync-secrets carries it into the release
environment alongside the signing key.
2026-08-19 16:37:07 +02:00
Chmouel Boudjnah
dc241d7c02
chore: Ignore temporary folder in project root
Added the temporary directory to the ignore list to prevent unwanted
files from being tracked by version control.

Signed-off-by: Chmouel Boudjnah <chmouel@chmouel.com>
2026-07-31 22:34:45 +02:00
Chmouel Boudjnah
649c7d8b0f
chore: keep the signing key in pass
The key that signs published builds now lives in the password store,
so releasing needs nothing on disk: hack/release creates the GitHub
release environment and uploads the four signing secrets from pass
itself, and hack/release --sync-secrets refreshes them after a
rotation. Release builds also carry a v3 signature now, which records
the signing lineage and leaves the door open to rotating that key
later without breaking anyone's updates.
2026-07-29 09:08:10 +02:00
Chmouel Boudjnah
697d773ee8
feat: scaffold Android project with Compose app shell
Set up the Gradle build (AGP 9, Kotlin, Compose, version catalog),
a paper-and-ink Material 3 theme with splash screen and adaptive
book icon, an empty library screen, CI workflow, F-Droid fastlane
metadata, and project documentation.
2026-07-28 21:21:07 +02:00