forked from microg/GmsCore
-
-
Notifications
You must be signed in to change notification settings - Fork 71
88 lines (80 loc) · 2.55 KB
/
crowdin_pull.yml
File metadata and controls
88 lines (80 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
name: Crowdin pull and merge
on:
schedule:
- cron: "0 */12 * * *" # every 12 hours
workflow_dispatch:
jobs:
pull:
name: Pull translations from Crowdin
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout dev
uses: actions/checkout@v6
with:
ref: dev
fetch-depth: 0
clean: true
- name: Pull strings from Crowdin
uses: crowdin/github-action@v2
with:
config: crowdin.yml
upload_sources: false
download_translations: true
skip_ref_checkout: true
localization_branch_name: crowdin
create_pull_request: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
- name: Push crowdin branch
run: |
git checkout -B crowdin
git push --force origin crowdin
merge:
name: Squash merge Crowdin into Dev
if: github.event_name == 'workflow_dispatch'
needs: pull
permissions:
contents: write
runs-on: ubuntu-latest
steps:
# Step 1: Checkout crowdin branch to run checks on it
- name: Checkout crowdin branch
uses: actions/checkout@v6
with:
ref: crowdin
fetch-depth: 0
clean: true
# Step 2: Compile Android app to check string resources
- name: "Setup Java"
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: "18"
- name: Compile Android app to check resources
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
chmod +x ./gradlew
./gradlew --no-daemon clean :play-services-core:assembleDefaultDebug
# Step 3: Checkout dev branch to prepare for merging
- name: Checkout dev branch for merge
uses: actions/checkout@v6
with:
ref: dev
fetch-depth: 0
clean: true
# Step 4: Fetch the latest crowdin branch (already checked)
- name: Fetch crowdin branch
run: git fetch origin crowdin
# Step 5: Squash merge crowdin into dev
- name: Squash merge crowdin into dev
run: |
git config --local user.name "Crowdin Bot"
git config --local user.email "support+bot@crowdin.com"
git merge --squash origin/crowdin
git commit --allow-empty -m "chore: Update translations from Crowdin"
git push origin dev