From 3dbd8f53bef5f7efe727a23dec8952cd62304f00 Mon Sep 17 00:00:00 2001 From: Thomas SharedInbox Date: Thu, 14 May 2026 17:11:00 +0200 Subject: [PATCH] fix(ci): move Play Store deploy into ci.yml; drop release.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit workflow_run is not supported by Forgejo Actions — release.yml never fired after CI passed. Port the deploy-playstore job into ci.yml with needs: check + if: main, matching the pattern already used by build-linux. Co-Authored-By: Claude Sonnet 4.6 --- .forgejo/workflows/ci.yml | 46 +++++++++++++++++++++++++++++ .forgejo/workflows/release.yml | 53 ---------------------------------- 2 files changed, 46 insertions(+), 53 deletions(-) delete mode 100644 .forgejo/workflows/release.yml diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 93bd463..47175e6 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -38,3 +38,49 @@ jobs: - name: Build Linux run: nix develop --command task build-linux-release + + deploy-playstore: + name: Build & Deploy to Play Store + runs-on: self-hosted + needs: check + if: github.ref == 'refs/heads/main' + + steps: + - uses: actions/checkout@v4 + + - name: Enable Nix flakes + run: | + mkdir -p ~/.config/nix + echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf + + - name: Install Android SDK (cached on runner between runs) + run: | + SDK="${ANDROID_HOME:-$HOME/Android/Sdk}" + if [ ! -d "$SDK/platforms/android-34" ]; then + echo "Android SDK not found, installing..." + wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdtools.zip + mkdir -p "$SDK/cmdline-tools" + unzip -q /tmp/cmdtools.zip -d "$SDK/cmdline-tools" + [ -d "$SDK/cmdline-tools/cmdline-tools" ] && mv "$SDK/cmdline-tools/cmdline-tools" "$SDK/cmdline-tools/latest" + yes | "$SDK/cmdline-tools/latest/bin/sdkmanager" --licenses >/dev/null 2>&1 || true + "$SDK/cmdline-tools/latest/bin/sdkmanager" "platform-tools" "build-tools;34.0.0" "platforms;android-34" + else + echo "Android SDK cached, skipping install." + fi + + - name: Prepare Keystore + env: + ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} + run: | + if [ -n "$ANDROID_KEYSTORE_BASE64" ]; then + echo "$ANDROID_KEYSTORE_BASE64" | base64 -d > android/app/upload-keystore.jks + else + echo "Error: ANDROID_KEYSTORE_BASE64 secret is not set." + exit 1 + fi + + - name: Build & Deploy to Play Store + env: + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + PLAY_STORE_CONFIG_JSON: ${{ secrets.PLAY_STORE_CONFIG_JSON }} + run: nix develop --command task deploy-android-bundle diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml deleted file mode 100644 index c3b343b..0000000 --- a/.forgejo/workflows/release.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Release - -on: - workflow_run: - workflows: ["CI"] - branches: [main] - types: [completed] - -jobs: - deploy-playstore: - name: Build & Deploy to Play Store - runs-on: self-hosted - if: github.event.workflow_run.conclusion == 'success' - - steps: - - uses: actions/checkout@v4 - - - name: Enable Nix flakes - run: | - mkdir -p ~/.config/nix - echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf - - - name: Install Android SDK (cached on runner between runs) - run: | - SDK="${ANDROID_HOME:-$HOME/Android/Sdk}" - if [ ! -d "$SDK/platforms/android-34" ]; then - echo "Android SDK not found, installing..." - wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdtools.zip - mkdir -p "$SDK/cmdline-tools" - unzip -q /tmp/cmdtools.zip -d "$SDK/cmdline-tools" - [ -d "$SDK/cmdline-tools/cmdline-tools" ] && mv "$SDK/cmdline-tools/cmdline-tools" "$SDK/cmdline-tools/latest" - yes | "$SDK/cmdline-tools/latest/bin/sdkmanager" --licenses >/dev/null 2>&1 || true - "$SDK/cmdline-tools/latest/bin/sdkmanager" "platform-tools" "build-tools;34.0.0" "platforms;android-34" - else - echo "Android SDK cached, skipping install." - fi - - - name: Prepare Keystore - env: - ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} - run: | - if [ -n "$ANDROID_KEYSTORE_BASE64" ]; then - echo "$ANDROID_KEYSTORE_BASE64" | base64 -d > android/app/upload-keystore.jks - else - echo "Error: ANDROID_KEYSTORE_BASE64 secret is not set." - exit 1 - fi - - - name: Build & Deploy to Play Store - env: - ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - PLAY_STORE_CONFIG_JSON: ${{ secrets.PLAY_STORE_CONFIG_JSON }} - run: nix develop --command task deploy-android-bundle