Zum Inhalt

Build und Tests

Diese Seite dokumentiert ausschließlich die vorhandenen General-Audience-Buildpfade für veröffentlichte Android-Artefakte. Ein eigener General-Audience-Workflow ist nicht nötig: Beide etablierten Android-Workflows bieten den Input product_variant an.

Voraussetzungen

Werkzeug Version / Aufgabe
Node.js 24
npm Installation der Abhängigkeiten und Skripte
JDK 21 für Android-Builds
Android SDK API 36 und Build-Tools 36.0.0
Python Erzeugung der Badge-Assets
Pillow fest gepinnt in tools/badges/requirements.txt

Android-Builds laufen auf dem lokalen Self-Hosted-Windows-Worker mit den Labels [self-hosted, windows, x64].

General-Audience-Web-Assets

Der Vite-Modus general setzt beim Build VITE_PRODUCT_VARIANT=general-audience.

npm.cmd ci
npm.cmd run build:general

Für die Android-Synchronisierung wird verwendet:

npm.cmd run android:sync:general

Danach darf kein gewöhnliches android:sync laufen: Es ersetzt die kopierten Web-Assets wieder durch die vollständige Recovery-Variante.

Debug-APK

Verwende den vorhandenen Workflow:

  • Workflow: Build Android debug APK
  • Datei: .github/workflows/android-debug-apk.yml
  • Runner: local
  • Produktvariante: general-audience

Der lokale Job installiert die Abhängigkeiten, führt Smoke-, UI- und Release-Metadaten-Tests aus, synchronisiert die General-Audience-Web-Assets und baut die Debug-APK. Ein optionaler geschützter Update-Signierschlüssel wird verwendet, wenn er eingerichtet ist.

Die Artefakte landen auf dem Worker unter C:\SteadyBuilds\debug, darunter eine nummerierte Datei und:

Steady-1.0.0-alpha.19-debug-apk-general-audience-latest.apk

Der entsprechende direkte lokale Befehl lautet:

npm.cmd run android:build:general:windows

Signierter Closed-Trial-Release

Verwende den vorhandenen Workflow:

  • Workflow: Build signed closed-trial release
  • Datei: .github/workflows/android-closed-trial.yml
  • Runner: local
  • Produktvariante: general-audience

Der Release-Job benötigt die geschützten Signing-Secrets, führt Audit und vollständige Tests aus, synchronisiert die General-Audience-Web-Assets, baut die signierte APK und das AAB, prüft den minimierten LiteRT-JNI-Vertrag, verifiziert die APK-Signatur und schreibt SHA-256-Prüfsummen.

Die Artefakte landen unter C:\SteadyBuilds\release mit der Variante im Dateinamen, darunter:

Steady-1.0.0-alpha.19-signed-closed-trial-general-audience-latest.apk
Steady-1.0.0-alpha.19-signed-closed-trial-general-audience-latest.aab
Steady-1.0.0-alpha.19-signed-closed-trial-general-audience-latest-SHA256SUMS.txt

Validierungsgrenze

Die General-Audience-Version entfernt die eingebauten Profile für Alkohol und Pornografie/zwanghaftes Sexualverhalten, den SPAA-Bereich, Inventar, Lieblingstexte und 12-Schritte-Ressourcen. Das allgemeine Veränderungstracking, eigene Veränderungsbereiche, Counter, Analytics, Toolbox, Abzeichen und Companion bleiben enthalten. CI prüft, dass die Feature-Marker der Programmressourcen im erzeugten JavaScript-Bundle fehlen.

Beide Produktvarianten verwenden derzeit dieselbe Android-applicationId; die Installation einer Variante ersetzt die andere, während kompatible lokale Daten erhalten bleiben.

Workflow-Regel

Verwende zuerst diese beiden etablierten Workflows. Ein neuer Workflow ist nur für einen klar getrennten, dauerhaft eigenständigen Build-Anwendungsfall gerechtfertigt, den keiner der vorhandenen Workflows sinnvoll abbilden kann. Diese Lücke muss vor dem Anlegen dokumentiert werden.