build(mobile): remove signing recovery workflow

This commit is contained in:
tianma-if committed 2026-07-19 15:21:05 +08:00
1 parent 5edcf0eb0e
commit ebdede5ded
1 file changed
-76
@@ -1,76 +0,0 @@
name: Recover Android signing material
on:
workflow_dispatch:
inputs:
recovery_certificate_base64:
description: Base64-encoded one-time X.509 recovery certificate
required: true
type: string
permissions:
contents: read
jobs:
recover:
if: github.repository == 'tianma-if/edgeever'
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Encrypt signing material for the release Mac
env:
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
RECOVERY_CERTIFICATE_BASE64: ${{ inputs.recovery_certificate_base64 }}
run: |
set -euo pipefail
umask 077
recovery_dir="$RUNNER_TEMP/edgeever-signing-recovery"
mkdir -p "$recovery_dir"
test -n "$ANDROID_KEYSTORE_BASE64"
test -n "$ANDROID_KEYSTORE_PASSWORD"
test -n "$ANDROID_KEY_ALIAS"
test -n "$ANDROID_KEY_PASSWORD"
test -n "$RECOVERY_CERTIFICATE_BASE64"
printf '%s' "$ANDROID_KEYSTORE_BASE64" | openssl base64 -d -A > "$recovery_dir/edgeever-upload.p12"
printf '%s' "$RECOVERY_CERTIFICATE_BASE64" | openssl base64 -d -A > "$RUNNER_TEMP/recovery-certificate.pem"
keytool -list \
-keystore "$recovery_dir/edgeever-upload.p12" \
-storepass "$ANDROID_KEYSTORE_PASSWORD" \
-alias "$ANDROID_KEY_ALIAS" >/dev/null
RECOVERY_DIR="$recovery_dir" node <<'NODE'
const fs = require("node:fs");
const path = require("node:path");
const target = "/Users/tianma/.config/edgeever/android/edgeever-upload.p12";
const values = [
["ANDROID_KEYSTORE_FILE", target],
["ANDROID_KEYSTORE_PASSWORD", process.env.ANDROID_KEYSTORE_PASSWORD],
["ANDROID_KEY_ALIAS", process.env.ANDROID_KEY_ALIAS],
["ANDROID_KEY_PASSWORD", process.env.ANDROID_KEY_PASSWORD],
["EDGE_EVER_ANDROID_ARCHS", "armeabi-v7a,arm64-v8a,x86,x86_64"],
];
const contents = values.map(([key, value]) => `${key}=${JSON.stringify(value)}`).join("\n") + "\n";
fs.writeFileSync(path.join(process.env.RECOVERY_DIR, "signing.env"), contents, { mode: 0o600 });
NODE
tar -C "$recovery_dir" -czf "$RUNNER_TEMP/edgeever-android-signing.tar.gz" edgeever-upload.p12 signing.env
openssl cms -encrypt -binary -aes256 \
-in "$RUNNER_TEMP/edgeever-android-signing.tar.gz" \
-out "$RUNNER_TEMP/edgeever-android-signing.cms" \
-outform DER \
"$RUNNER_TEMP/recovery-certificate.pem"
- name: Upload encrypted recovery package
uses: actions/upload-artifact@v7
with:
name: edgeever-android-signing-recovery
path: ${{ runner.temp }}/edgeever-android-signing.cms
if-no-files-found: error
retention-days: 1
compression-level: 0