halkyon/apps/todo/release.dart
Tizian 「ティツィアーン」 a29ad45ef1
All checks were successful
CI / check (push) Successful in 46m54s
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

44 lines
1.9 KiB
Dart

// How Halkyon Todo is released (`dart run tool/release.dart todo`): the
// release tool's configuration of it, registered in tool/src/release/apps.dart.
import '../../tool/src/release/app_release.dart';
/// Halkyon Todo's releases (ADR 0033, step 5): the APK and the snap, both
/// connecting to todo.halkyon.eu, published on code.halkyon.app, the APK in
/// the project's F-Droid repository beside Learn and Train.
const todoRelease = AppRelease(
id: 'todo',
name: 'Halkyon Todo',
applicationId: 'app.halkyon.todo',
directory: 'apps/todo',
flutterPackage: 'apps/todo/halkyon_todo_flutter',
artifactName: 'halkyon-todo',
serverUrl: 'https://todo.halkyon.eu/',
forgejo: 'https://code.halkyon.app',
repository: 'halkyon-days/halkyon',
// A PKCS #12 keystore of its own outside the repository (also in the
// maintainer's password manager), as Learn's and Train's: it is the app's
// identity, and lost, installed apps can't be updated; one key for several
// apps would let either's build pass for the other's update.
android: AndroidSigning(
certificateFile: 'tool/release/todo-android-certificate.sha256',
keystoreVariable: 'HALKYON_TODO_ANDROID_KEYSTORE',
defaultKeystore: '.local/share/halkyon-todo/android-release.p12',
aliasVariable: 'HALKYON_TODO_ANDROID_KEY_ALIAS',
defaultAlias: 'halkyon-todo',
),
fdroid: FdroidListing(
script: 'tool/fdroid_repo.sh',
listing: 'tool/release/fdroid',
indexCertificateFile: 'tool/release/fdroid-index-certificate.sha256',
repositoryUrl: 'https://halkyon.app/fdroid/repo',
),
// Built in a clone of its own (`SnapRelease.projectPath`), as the root's
// snap/ is Learn's. To the Store's edge channel, as Learn's, once the
// name is registered (`snapcraft register halkyon-todo`).
snap: SnapRelease(
name: 'halkyon-todo',
part: 'halkyon-todo',
directory: 'apps/todo/snap',
storeChannel: 'edge',
),
);