Skip to content

Crowdin pull and merge #74

Crowdin pull and merge

Crowdin pull and merge #74

Workflow file for this run

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