This commit is contained in:
@@ -17,6 +17,16 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Validate signing configuration
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
test -n "$KEY_JKS"
|
||||||
|
test -n "$KEY_PASSWORD"
|
||||||
|
test -n "$KEY_ALIAS"
|
||||||
|
printf '%s' "$KEY_JKS" | base64 -d > "$KEY_PATH"
|
||||||
|
chmod 600 "$KEY_PATH"
|
||||||
|
|
||||||
- uses: actions/setup-java@v4
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
@@ -78,14 +88,6 @@ jobs:
|
|||||||
IPTPROXY_SOURCE: ${{ runner.temp }}/IPtProxy
|
IPTPROXY_SOURCE: ${{ runner.temp }}/IPtProxy
|
||||||
run: melos run build-go-runtime --no-select
|
run: melos run build-go-runtime --no-select
|
||||||
|
|
||||||
- name: Create release key
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
test -n "$KEY_JKS"
|
|
||||||
printf '%s' "$KEY_JKS" | base64 -d > "$KEY_PATH"
|
|
||||||
chmod 600 "$KEY_PATH"
|
|
||||||
|
|
||||||
- name: Build and verify Pixel 10 APK
|
- name: Build and verify Pixel 10 APK
|
||||||
run: melos run build-browser-pixel10 --no-select
|
run: melos run build-browser-pixel10 --no-select
|
||||||
|
|
||||||
|
|||||||
+27
@@ -41,6 +41,33 @@ apps/weblibre/build/app/outputs/flutter-apk/app-pixel10-release.apk
|
|||||||
Release builds require the same signing environment variables as upstream:
|
Release builds require the same signing environment variables as upstream:
|
||||||
`KEY_PATH`, `KEY_ALIAS`, and `KEY_PASSWORD`.
|
`KEY_PATH`, `KEY_ALIAS`, and `KEY_PASSWORD`.
|
||||||
|
|
||||||
|
## Gitea Actions
|
||||||
|
|
||||||
|
The workflow at `.gitea/workflows/pixel10.yml` runs on every push to the
|
||||||
|
`pixel10` branch and can also be started manually. It needs an Actions runner
|
||||||
|
with the `ubuntu-latest` label and these repository secrets:
|
||||||
|
|
||||||
|
| Secret | Value |
|
||||||
|
| --- | --- |
|
||||||
|
| `PIXEL10_KEY_JKS` | Base64-encoded Android signing keystore |
|
||||||
|
| `PIXEL10_KEY_ALIAS` | Alias of the signing key |
|
||||||
|
| `PIXEL10_KEY_PASSWORD` | Keystore and key password |
|
||||||
|
|
||||||
|
Create a dedicated key once and keep both the keystore and password backed up.
|
||||||
|
Losing the signing key makes it impossible to install future updates over an
|
||||||
|
existing MrbWebLibre installation.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
keytool -genkeypair -v \
|
||||||
|
-keystore pixel10-release.jks \
|
||||||
|
-alias mrbweblibre \
|
||||||
|
-keyalg RSA -keysize 4096 -validity 10000
|
||||||
|
base64 -w 0 pixel10-release.jks
|
||||||
|
```
|
||||||
|
|
||||||
|
Add the resulting one-line Base64 value as `PIXEL10_KEY_JKS`; do not commit the
|
||||||
|
keystore itself. The workflow removes the decoded file even when a build fails.
|
||||||
|
|
||||||
## Verify an existing APK
|
## Verify an existing APK
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
Reference in New Issue
Block a user