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 26, 2024
1 parent 2068fee commit 6299d54
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 0 deletions.
70 changes: 70 additions & 0 deletions .github/workflows/crowdin-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
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 '*'

- name: Install tools
run: |
curl -L https://github.com/Epicpkmn11/bannertool/releases/latest/download/bannertool.zip -o bannertool.zip
unzip bannertool.zip linux-x86_64/bannertool
chmod +x linux-x86_64/bannertool
mv linux-x86_64/bannertool /usr/local/bin
rm -rf bannertool.zip linux-x86_64
curl -L https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.17/makerom-v0.17-ubuntu_x86_64.zip -o makerom-v0.17-ubuntu_x86_64.zip
unzip makerom-v0.17-ubuntu_x86_64.zip
chmod +x makerom
mv makerom /usr/local/bin
rm makerom-v0.17-ubuntu_x86_64.zip
- 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 }}
UU_CROWDIN_ID: ${{ secrets.UU_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: Commit changes
run: |
git config user.email "[email protected]"
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 }}
47 changes: 47 additions & 0 deletions .github/workflows/crowdin-upload.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Upload source files to Crowdin

on:
push:
branches: [ master ]
paths:
- 'romfs/lang/en/**'
workflow_dispatch:

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

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

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

- name: Install tools
run: |
curl -L https://github.com/Epicpkmn11/bannertool/releases/latest/download/bannertool.zip -o bannertool.zip
unzip bannertool.zip linux-x86_64/bannertool
chmod +x linux-x86_64/bannertool
mv linux-x86_64/bannertool /usr/local/bin
rm -rf bannertool.zip linux-x86_64
curl -L https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.17/makerom-v0.17-ubuntu_x86_64.zip -o makerom-v0.17-ubuntu_x86_64.zip
unzip makerom-v0.17-ubuntu_x86_64.zip
chmod +x makerom
mv makerom /usr/local/bin
rm makerom-v0.17-ubuntu_x86_64.zip
- name: Build test
run: |
make
- name: Push to Crowdin
uses: crowdin/github-action@v2
with:
upload_sources: true
env:
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
UU_CROWDIN_ID: ${{ secrets.UU_CROWDIN_ID }}
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="bruh da de es-ES fr hu it ja ko lt nl no pl pt-PT pt-BR ro ru ry tr uk zh-CN zh-TW"

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

0 comments on commit 6299d54

Please sign in to comment.