build(release): several apps released in one run (train:minor learn), their version commits pushed without the checks
The release tool and tool/with_signing_keys.sh take several apps, each with its version after a colon or none, and release them one after another, each as alone, stopping at the first that fails; the key script fetches every named app's key. The pre-push hook skips tool/check.dart when a push brings release commits alone: the release tool's chore(release) subject, an app's pubspec changed in its version line and its texts of what's new, nothing else (tool/release_push.dart). Signatures are checked as before, and CI still runs the checks. A release no longer costs a run of the checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
551a29445f
commit
f06fc23023
1 changed files with 425 additions and 58 deletions
|
|
@ -64,13 +64,29 @@ void main() {
|
|||
|
||||
test("fdroid runs the F-Droid repository's script alone, with the "
|
||||
"index's key and its password only", () {
|
||||
expect(script, contains(' fdroid) ;;'));
|
||||
expect(script, contains(r'tool/fdroid_repo.sh "$@" || status=$?'));
|
||||
final alone = script.substring(
|
||||
script.indexOf(r'if [ "$app" = fdroid ]; then'),
|
||||
script.indexOf(r'if [ "$1" = fdroid ]; then'),
|
||||
script.indexOf(r'tool/fdroid_repo.sh "$@"'),
|
||||
);
|
||||
expect(alone, isNot(contains('app_item')));
|
||||
expect(alone, isNot(contains('forgejo_token')));
|
||||
});
|
||||
|
||||
test('several apps named, each gets its own key, under its own name and '
|
||||
'variable, and the release tool every argument as given', () {
|
||||
expect(script, contains(r'*) apps+=("${word%%:*}") ;;'));
|
||||
expect(script, contains('-* | major | minor | patch) ;;'));
|
||||
expect(
|
||||
script,
|
||||
contains(
|
||||
r'fetch "$app_item" android-release.p12 "$keys/$app-android-release.p12"',
|
||||
),
|
||||
);
|
||||
expect(
|
||||
script,
|
||||
contains(r'export "$app_variable=$keys/$app-android-release.p12"'),
|
||||
);
|
||||
expect(script, contains(r'dart run tool/release.dart "$@" || status=$?'));
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue