69 lines
No EOL
2 KiB
YAML
69 lines
No EOL
2 KiB
YAML
name: Android Branch Auto Sync
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
paths-ignore:
|
|
- "docs/**"
|
|
- "README.md"
|
|
- ".github/ISSUE_TEMPLATE/**"
|
|
branches:
|
|
- Alpha
|
|
- android-open
|
|
tags:
|
|
- "v*"
|
|
pull_request_target:
|
|
branches:
|
|
- Alpha
|
|
- android-open
|
|
|
|
jobs:
|
|
update-dependencies:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Configure Git
|
|
run: |
|
|
git config --global user.name 'GitHub Action'
|
|
git config --global user.email 'action@github.com'
|
|
|
|
- name: Sync android-real with Alpha rebase android-open
|
|
run: |
|
|
git fetch origin
|
|
git checkout origin/Alpha -b android-real
|
|
git merge --squash origin/android-open
|
|
git commit -m "Android: patch"
|
|
|
|
- name: Check for conflicts
|
|
run: |
|
|
CONFLICTS=$(git diff --name-only --diff-filter=U)
|
|
if [ ! -z "$CONFLICTS" ]; then
|
|
echo "There are conflicts in the following files:"
|
|
echo $CONFLICTS
|
|
exit 1
|
|
fi
|
|
|
|
- name: Push changes
|
|
run: |
|
|
git push origin android-real --force
|
|
|
|
# Send "core-updated" to MetaCubeX/ClashMetaForAndroid to trigger update-dependencies
|
|
trigger-CMFA-update:
|
|
needs: update-dependencies
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: tibdex/github-app-token@v1
|
|
id: generate-token
|
|
with:
|
|
app_id: ${{ secrets.MAINTAINER_APPID }}
|
|
private_key: ${{ secrets.MAINTAINER_APP_PRIVATE_KEY }}
|
|
|
|
- name: Trigger update-dependencies
|
|
run: |
|
|
curl -X POST https://api.github.com/repos/MetaCubeX/ClashMetaForAndroid/dispatches \
|
|
-H "Accept: application/vnd.github.everest-preview+json" \
|
|
-H "Authorization: token ${{ steps.generate-token.outputs.token }}" \
|
|
-d '{"event_type": "core-updated"}' |