Build 21 (v0.18.0) was the release tool/release.sh was kept for, the one going with ADR 0014's breaking deploy; every release since is `dart run tool/release.dart learn`. The comments that named the script (the F-Droid script, the certificate pin, the Gradle signing) now name the Dart tool. Learn's release uploads the snap to the Snap Store's edge channel last, where v0.18.0 went by hand; the release refuses to start unless `snapcraft whoami` shows a login. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
52 lines
2.1 KiB
Dart
52 lines
2.1 KiB
Dart
// How Halkyon Learn is released (`dart run tool/release.dart learn`): the
|
|
// release tool's configuration of it, registered in tool/src/release/apps.dart.
|
|
import '../../tool/src/release/app_release.dart';
|
|
|
|
/// Halkyon Learn's releases: the APK and the snap, both connecting to
|
|
/// learn.halkyon.eu, the project's instance, published on code.halkyon.app,
|
|
/// in the project's F-Droid repository and in the Snap Store's edge channel.
|
|
const learnRelease = AppRelease(
|
|
id: 'learn',
|
|
name: 'Halkyon Learn',
|
|
applicationId: 'app.halkyon.learn',
|
|
directory: 'apps/learn',
|
|
flutterPackage: 'apps/learn/halkyon_learn_flutter',
|
|
artifactName: 'halkyon-learn',
|
|
serverUrl: 'https://learn.halkyon.eu/',
|
|
forgejo: 'https://code.halkyon.app',
|
|
repository: 'project-halkyon/halkyon',
|
|
// A PKCS #12 keystore outside the repository (also in the maintainer's
|
|
// password manager): there is no Google Play, so it is the app's identity,
|
|
// and lost, installed apps can't be updated.
|
|
android: AndroidSigning(
|
|
certificateFile: 'tool/release/android-certificate.sha256',
|
|
keystoreVariable: 'HALKYON_ANDROID_KEYSTORE',
|
|
defaultKeystore: '.local/share/halkyon-learn/android-release.p12',
|
|
aliasVariable: 'HALKYON_ANDROID_KEY_ALIAS',
|
|
defaultAlias: 'halkyon-learn',
|
|
),
|
|
fdroid: FdroidListing(
|
|
script: 'tool/fdroid_repo.sh',
|
|
listing: 'tool/release/fdroid',
|
|
indexCertificateFile: 'tool/release/fdroid-index-certificate.sha256',
|
|
repositoryUrl: 'https://halkyon.app/fdroid/repo',
|
|
),
|
|
// To the Store's edge channel (since 23 Oct 2026, as v0.18.0 went there by
|
|
// hand): stable once the app leaves its early days.
|
|
snap: SnapRelease(
|
|
name: 'halkyon-learn',
|
|
part: 'halkyon-learn',
|
|
directory: 'snap',
|
|
storeChannel: 'edge',
|
|
),
|
|
// Learn's releases up to build 21 were tagged v0.18.0 and so on.
|
|
legacyTagPrefix: 'v',
|
|
// Its packages were at the repository's root until it moved into apps/learn
|
|
// (19 Oct 2026, ADR 0015).
|
|
formerPaths: [
|
|
'halkyon_learn_client',
|
|
'halkyon_learn_curator',
|
|
'halkyon_learn_flutter',
|
|
'halkyon_learn_server',
|
|
],
|
|
);
|