feat(app): what's new after an update, drafted by the release tool (ADR 0030, D61)
halkyon_app's WhatsNew reads what each release changed from the app's assets/whats_new/ (<version>.<language>.txt, English and German, a change a line): after an update a sheet lists every release since the one the device showed last, newest first, once; Settings shows the running version's again, above About. Nothing on a fresh install. tool/release.dart drafts the missing texts from the commits that count after "Go on?" (German marked TRANSLATE:), opens them in the editor until they fit (no mark left, F-Droid's 500 characters) and commits them with the version. The English is the Forgejo notes' What's new, each language F-Droid's changelog of the build, written at publishing and copied in by tool/fdroid_repo.sh. Learn and Train bundle their texts, Learn's 0.22.0 and Train's 0.1.0 written to start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
581cf1f1cd
commit
7727317c68
1 changed files with 1272 additions and 76 deletions
|
|
@ -16,6 +16,7 @@ void main() {
|
|||
AppRelease app = testApp,
|
||||
String? previousTag = 'notes-v0.18.0',
|
||||
List<Commit> commits = const [],
|
||||
String? whatsNew,
|
||||
}) => releaseNotes(
|
||||
app: app,
|
||||
version: const Version(0, 19, 0),
|
||||
|
|
@ -24,8 +25,31 @@ void main() {
|
|||
certificate: certificate,
|
||||
fdroidFingerprint: fingerprint,
|
||||
signer: signer,
|
||||
whatsNew: whatsNew,
|
||||
);
|
||||
|
||||
test("with what's new, the notes give it in place of the commits", () {
|
||||
final text = notes(
|
||||
commits: const [Commit(hash: 'a', subject: 'feat: tiles')],
|
||||
whatsNew: '- Tiles on the first start.\n\n- Flags.\n',
|
||||
);
|
||||
|
||||
expect(
|
||||
text,
|
||||
contains(
|
||||
"the project's instance.\n"
|
||||
'\n'
|
||||
"### What's new\n"
|
||||
'\n'
|
||||
'- Tiles on the first start.\n'
|
||||
'- Flags.\n'
|
||||
'\n'
|
||||
'### Installing\n',
|
||||
),
|
||||
);
|
||||
expect(text, isNot(contains('### Features')));
|
||||
});
|
||||
|
||||
test("a release's notes list its features and fixes, oldest first, "
|
||||
'without their types and scopes', () {
|
||||
final text = notes(
|
||||
|
|
|
|||
Loading…
Reference in a new issue