summaryrefslogtreecommitdiffstats
path: root/.github/workflows/android-publish.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/android-publish.yml')
-rw-r--r--.github/workflows/android-publish.yml57
1 files changed, 57 insertions, 0 deletions
diff --git a/.github/workflows/android-publish.yml b/.github/workflows/android-publish.yml
new file mode 100644
index 000000000..8f46fcf74
--- /dev/null
+++ b/.github/workflows/android-publish.yml
@@ -0,0 +1,57 @@
+# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+name: yuzu-android-publish
+
+on:
+ schedule:
+ - cron: '37 0 * * *'
+ workflow_dispatch:
+ inputs:
+ android:
+ description: 'Whether to trigger an Android build (true/false/auto)'
+ required: false
+ default: 'true'
+
+jobs:
+ android:
+ runs-on: ubuntu-latest
+ if: ${{ github.event.inputs.android != 'false' && github.repository == 'yuzu-emu/yuzu' }}
+ steps:
+ # this checkout is required to make sure the GitHub Actions scripts are available
+ - uses: actions/checkout@v3
+ name: Pre-checkout
+ with:
+ submodules: false
+ - uses: actions/github-script@v6
+ id: check-changes
+ name: 'Check for new changes'
+ env:
+ # 24 hours
+ DETECTION_TIME_FRAME: 86400000
+ with:
+ script: |
+ if (context.payload.inputs && context.payload.inputs.android === 'true') return true;
+ const checkAndroidChanges = require('./.github/workflows/android-merge.js').checkAndroidChanges;
+ return checkAndroidChanges(github, context);
+ - run: npm install execa@5
+ if: ${{ steps.check-changes.outputs.result == 'true' }}
+ - uses: actions/checkout@v3
+ name: Checkout
+ if: ${{ steps.check-changes.outputs.result == 'true' }}
+ with:
+ path: 'yuzu-merge'
+ fetch-depth: 0
+ submodules: true
+ token: ${{ secrets.ALT_GITHUB_TOKEN }}
+ - uses: actions/github-script@v5
+ name: 'Check and merge Android changes'
+ if: ${{ steps.check-changes.outputs.result == 'true' }}
+ env:
+ ALT_GITHUB_TOKEN: ${{ secrets.ALT_GITHUB_TOKEN }}
+ with:
+ script: |
+ const execa = require("execa");
+ const mergebot = require('./.github/workflows/android-merge.js').mergebot;
+ process.chdir('${{ github.workspace }}/yuzu-merge');
+ mergebot(github, context, execa);