wiki/.github/workflows/crowdin-commit.yml
lifehackerhansol a613a60331
workflow: install Crowdin CLI
It was missed in the initial commit. Unfortunately Crowdin's provided
action does not allow simply installing Crowdin itself, so we have to
manually install it using NPM.
2024-07-31 20:28:00 -07:00

58 lines
1.6 KiB
YAML

name: Import translations from Crowdin
on:
schedule:
- cron: "0 0 1,15 * *"
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- uses: actions/setup-node@v4
- name: Setup Crowdin CLI
run: |
npm i -g @crowdin/cli
- name: Pull from Crowdin
run: |
CROWDIN_TOKEN=${{ secrets.CROWDIN_TOKEN }} ./crowdin-pull.sh
- name: Pull origin
run: git pull origin main --ff-only # Pull origin in case a commit has been done while updating
# Build the site using Jekyll
# This makes sure that the site actually builds before pushing to Crowdin
- name: Test site build via Jekyll
run: JEKYLL_ENV=production bundle exec jekyll build
- name: Push changes
run: |
git config user.email "flamekat54@aol.com"
git config user.name "TWLBot"
echo "machine github.com" > "$HOME/.netrc"
echo " login TWLBot" >> "$HOME/.netrc"
echo " password ${{ secrets.TWLBOT_TOKEN }}" >> "$HOME/.netrc"
echo "machine api.github.com" >> "$HOME/.netrc"
echo " login TWLBot" >> "$HOME/.netrc"
echo " password ${{ secrets.TWLBOT_TOKEN }}" >> "$HOME/.netrc"
git checkout main
git stage .
if git commit -m "Automatic translation import"; then
git push origin main
fi