Skip to content

Commit

Permalink
workflow: add Crowdin automation scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
lifehackerhansol committed Dec 13, 2024
1 parent e94a930 commit f7ac3b8
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/crowdin-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Import translations from Crowdin

on:
schedule:
- cron: "0 0 1,15 * *"
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
container: devkitpro/devkitarm:20241104

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive

- name: Setup environment
run: git config --global safe.directory '*'

- uses: actions/setup-node@v4
with:
node-version: lts/*

- name: Setup Crowdin CLI
run: |
npm i -g @crowdin/cli
- name: Pull from Crowdin
env:
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
GM9I_CROWDIN_ID: ${{ secrets.GM9I_CROWDIN_ID }}
run: |
./crowdin-pull.sh
- name: Pull origin
run: git pull origin master --ff-only # Pull origin in case a commit has been done while updating

# This makes sure that the site actually builds before pushing to master
- name: Build GodMode9i
run: |
make all dsi
- name: Push changes
run: |
git config user.email "twlbot@flashcarts.net"
git config user.name "TWLBot"
git checkout master
git commit -a -m "Automatic translation import"
- name: Push changes
uses: ad-m/github-push-action@master
with:
branch: master
github_token: ${{ secrets.TWLBOT_TOKEN }}
34 changes: 34 additions & 0 deletions .github/workflows/crowdin-upload.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Upload source files to Crowdin

on:
push:
branches: [ master ]
paths:
- 'nitrofiles/languages/en-US/language.ini'
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
container: devkitpro/devkitarm:20241104

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive

- name: Setup environment
run: git config --global safe.directory '*'

- name: Build GodMode9i
run: |
make all dsi
- name: Push to Crowdin
uses: crowdin/github-action@v2
with:
upload_sources: true
env:
GM9I_CROWDIN_ID: ${{ secrets.GM9I_CROWDIN_ID }}
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
10 changes: 10 additions & 0 deletions crowdin-pull.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

# Add new languages here, space separated and using the ID for `crowdin pull`
LANGUAGES="de es-ES fr he hu id it ja kana nl pl ro ru ry tr uk zh-CN"

ARG=''
for LANGUAGE in $LANGUAGES; do
ARG+="-l $LANGUAGE "
done
crowdin pull $ARG

0 comments on commit f7ac3b8

Please sign in to comment.