halkyon/apps/learn/release.dart
Tizian 「ティツィアーン」 a29ad45ef1
Some checks are pending
CI / check (push) Has started running
build: the organisation on code.halkyon.app is halkyon-days
ADR 0045, D12, step 1: project-halkyon was renamed halkyon-days, its
repositories keeping their names. Every URL naming it moves along: the
servers' source-code links, which the AGPL requires, and their tests;
the forks in the pubspecs and the lock (appflowy-editor, pure-zstd,
serverpod-offline-sync); the snaps, the F-Droid listings and the
release configurations; the docs. The curator's credit for the
alphabets names the repository by its name since ADR 0015, halkyon,
rather than halkyon_learn. Forgejo redirects the old addresses until
the name is taken again.

ADRs 0015 and 0039 keep the name they were written with, and the local
folders theirs.

halkyon_editor's gen-l10n caches under build/, committed before its
.gitignore named the folder, are no longer tracked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-12 16:30:46 +01:00

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: 'halkyon-days/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',
],
);