Compare commits
1 Commits
deb43372ee
...
renovate/c
| Author | SHA1 | Date | |
|---|---|---|---|
| 2cd1ebd215 |
@@ -551,11 +551,12 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
VERSION: ${{ needs.detect.outputs.version }}
|
VERSION: ${{ needs.detect.outputs.version }}
|
||||||
VERSION_CODE: ${{ needs.detect.outputs.version_code }}
|
VERSION_CODE: ${{ needs.detect.outputs.version_code }}
|
||||||
# Where the bundle lands. `production` — the release itself is already the
|
# Where the bundle lands. `internal` by default so a release reaches
|
||||||
# gate (a bumped versionName only reaches main after on-device review), so
|
# testers rather than the public, and promotion to production stays a
|
||||||
# a second manual promotion in the Play Console bought nothing but delay.
|
# deliberate human action in the Play Console — the same posture as
|
||||||
# Override with the PLAY_TRACK repo variable to stage a release instead.
|
# holding UI releases for on-device review. Override with the PLAY_TRACK
|
||||||
PLAY_TRACK: ${{ vars.PLAY_TRACK || 'production' }}
|
# repo variable once the flow is trusted.
|
||||||
|
PLAY_TRACK: ${{ vars.PLAY_TRACK || 'internal' }}
|
||||||
PLAY_RELEASE_STATUS: ${{ vars.PLAY_RELEASE_STATUS || 'completed' }}
|
PLAY_RELEASE_STATUS: ${{ vars.PLAY_RELEASE_STATUS || 'completed' }}
|
||||||
# Set PLAY_DRY_RUN=true to validate the edit against the API and discard
|
# Set PLAY_DRY_RUN=true to validate the edit against the API and discard
|
||||||
# it instead of committing — used to rehearse the first upload.
|
# it instead of committing — used to rehearse the first upload.
|
||||||
|
|||||||
22
README.md
22
README.md
@@ -18,8 +18,6 @@ Reads, writes, and reminds — on top of the system calendar, with zero network
|
|||||||
<p>
|
<p>
|
||||||
<a href="https://f-droid.org/packages/de.jeanlucmakiola.calendula/"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="56"></a>
|
<a href="https://f-droid.org/packages/de.jeanlucmakiola.calendula/"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="56"></a>
|
||||||
|
|
||||||
<a href="https://play.google.com/store/apps/details?id=de.jeanlucmakiola.calendula"><img src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="68"></a>
|
|
||||||
|
|
||||||
<a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/jlmakiola/calendula"><img src="https://github.com/ImranR98/Obtainium/blob/main/assets/graphics/badge_obtainium.png?raw=true" alt="Get it on Obtainium" height="56"></a>
|
<a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/jlmakiola/calendula"><img src="https://github.com/ImranR98/Obtainium/blob/main/assets/graphics/badge_obtainium.png?raw=true" alt="Get it on Obtainium" height="56"></a>
|
||||||
|
|
||||||
<a href="https://ko-fi.com/jeanlucmakiola"><img src="https://storage.ko-fi.com/cdn/brandasset/v2/support_me_on_kofi_badge_beige.png" alt="Support me on Ko-fi" height="56"></a>
|
<a href="https://ko-fi.com/jeanlucmakiola"><img src="https://storage.ko-fi.com/cdn/brandasset/v2/support_me_on_kofi_badge_beige.png" alt="Support me on Ko-fi" height="56"></a>
|
||||||
@@ -88,7 +86,7 @@ Pick whichever channel you already use — they all install the same app:
|
|||||||
| [Official F-Droid](#f-droid-recommended) | On F-Droid's build schedule | Recommended; no extra setup |
|
| [Official F-Droid](#f-droid-recommended) | On F-Droid's build schedule | Recommended; no extra setup |
|
||||||
| [Self-hosted F-Droid repo](#self-hosted-f-droid-repo-fastest-updates) | Minutes after a release | Fastest; needs the repo added once |
|
| [Self-hosted F-Droid repo](#self-hosted-f-droid-repo-fastest-updates) | Minutes after a release | Fastest; needs the repo added once |
|
||||||
| [Codeberg release / Obtainium](#codeberg-release--obtainium) | Per release | Plain APK download, or automated by Obtainium |
|
| [Codeberg release / Obtainium](#codeberg-release--obtainium) | Per release | Plain APK download, or automated by Obtainium |
|
||||||
| [Google Play](#google-play) | Per release | Signed with Google's key — see below |
|
| [Google Play](#google-play-coming-soon) | — | Coming soon |
|
||||||
| [Build from source](#build-from-source) | Whenever you build | Full control |
|
| [Build from source](#build-from-source) | Whenever you build | Full control |
|
||||||
|
|
||||||
### F-Droid (recommended)
|
### F-Droid (recommended)
|
||||||
@@ -133,14 +131,18 @@ or do it by hand: *Add App* → paste `https://codeberg.org/jlmakiola/calendula`
|
|||||||
→ *Add*. Either way, Obtainium tracks the releases and prompts you when a new
|
→ *Add*. Either way, Obtainium tracks the releases and prompts you when a new
|
||||||
one appears.
|
one appears.
|
||||||
|
|
||||||
### Google Play
|
### Google Play (coming soon)
|
||||||
|
|
||||||
Calendula is live on Google Play:
|
Calendula is on its way to Google Play as an additional channel. It isn't live
|
||||||
**[play.google.com/store/apps/details?id=de.jeanlucmakiola.calendula](https://play.google.com/store/apps/details?id=de.jeanlucmakiola.calendula)**.
|
yet — this section gets a link once it is. Play builds will be signed with
|
||||||
|
Google's key rather than mine, so switching between Play and any other channel
|
||||||
|
will require an uninstall.
|
||||||
|
|
||||||
Play builds are signed with Google's key rather than mine, so switching between
|
> **Testers wanted.** Play requires a round of closed testing before the app can
|
||||||
Play and any other channel requires an uninstall (and with it, a fresh start for
|
> go public, and I'm still looking for testers. If you'd like to help, email
|
||||||
app settings — your events live in the system calendar and are unaffected).
|
> **[business@jeanlucmakiola.de](mailto:business@jeanlucmakiola.de)** with the
|
||||||
|
> Google account address you want to use — that address is what I need to add you
|
||||||
|
> to the closed test.
|
||||||
|
|
||||||
### Build from source
|
### Build from source
|
||||||
|
|
||||||
@@ -149,7 +151,7 @@ The build is a plain Gradle build with no proprietary dependencies — see
|
|||||||
|
|
||||||
<sub>Official F-Droid, the self-hosted repo, and the Codeberg releases all share
|
<sub>Official F-Droid, the self-hosted repo, and the Codeberg releases all share
|
||||||
the same signing key, so you can switch freely between them without
|
the same signing key, so you can switch freely between them without
|
||||||
reinstalling. Google Play is the exception — see above.</sub>
|
reinstalling.</sub>
|
||||||
|
|
||||||
## 📚 Documentation
|
## 📚 Documentation
|
||||||
|
|
||||||
|
|||||||
@@ -172,12 +172,9 @@ F-Droid but not Play:
|
|||||||
Until those are fixed, Play's graphics are managed by hand in the console. Then
|
Until those are fixed, Play's graphics are managed by hand in the console. Then
|
||||||
pass `images:true` to the `listing` lane.
|
pass `images:true` to the `listing` lane.
|
||||||
|
|
||||||
**Track.** Uploads go straight to `production` at a full rollout
|
**Track.** Uploads go to `internal` by default; promotion to production stays a
|
||||||
(`PLAY_RELEASE_STATUS=completed`). The merge to `main` is already the human
|
manual action in the Play Console, matching the rule that UI releases wait for
|
||||||
gate — a release only gets there after on-device review — so a second manual
|
on-device review. Override with the `PLAY_TRACK` repo variable.
|
||||||
promotion in the Play Console added delay without adding a decision. Set the
|
|
||||||
`PLAY_TRACK` repo variable (e.g. `internal`) to stage a release instead, or
|
|
||||||
`PLAY_RELEASE_STATUS=draft` to hold it unpublished.
|
|
||||||
|
|
||||||
### Manual re-sign / recovery
|
### Manual re-sign / recovery
|
||||||
|
|
||||||
@@ -236,7 +233,7 @@ Two consequences worth remembering:
|
|||||||
|
|
||||||
| Variable | Default | Purpose |
|
| Variable | Default | Purpose |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `PLAY_TRACK` | `production` | Play track the bundle is uploaded to. Set to `internal`/`alpha`/`beta` to stage instead. |
|
| `PLAY_TRACK` | `internal` | Play track the bundle is uploaded to. |
|
||||||
| `PLAY_RELEASE_STATUS` | `completed` | `completed`, `draft`, `inProgress` or `halted`. |
|
| `PLAY_RELEASE_STATUS` | `completed` | `completed`, `draft`, `inProgress` or `halted`. |
|
||||||
| `PLAY_DRY_RUN` | `false` | `true` validates the Play edit against the API and discards it — use to rehearse. |
|
| `PLAY_DRY_RUN` | `false` | `true` validates the Play edit against the API and discards it — use to rehearse. |
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ platform :android do
|
|||||||
|
|
||||||
supply(
|
supply(
|
||||||
aab: aab,
|
aab: aab,
|
||||||
track: options[:track] || "production",
|
track: options[:track] || "internal",
|
||||||
release_status: options[:release_status] || "completed",
|
release_status: options[:release_status] || "completed",
|
||||||
|
|
||||||
# The APK belongs to F-Droid and the Codeberg download; Play only ever
|
# The APK belongs to F-Droid and the Codeberg download; Play only ever
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ coreKtx = "1.19.0"
|
|||||||
appcompat = "1.7.1"
|
appcompat = "1.7.1"
|
||||||
lifecycleRuntime = "2.10.0"
|
lifecycleRuntime = "2.10.0"
|
||||||
activityCompose = "1.13.0"
|
activityCompose = "1.13.0"
|
||||||
composeBom = "2026.06.01"
|
composeBom = "2026.08.00"
|
||||||
# Material 3 Expressive APIs currently live only in the 1.5 alpha line.
|
# Material 3 Expressive APIs currently live only in the 1.5 alpha line.
|
||||||
# Pin explicitly to override the BOM (which ships stable 1.4.0).
|
# Pin explicitly to override the BOM (which ships stable 1.4.0).
|
||||||
# Re-evaluate when 1.5.0 stable lands.
|
# Re-evaluate when 1.5.0 stable lands.
|
||||||
|
|||||||
Reference in New Issue
Block a user