chore: improve translation workflow

This commit is contained in:
Henry
2026-02-19 22:26:17 +00:00
parent b72449bef1
commit 37f6be52ee
2 changed files with 22 additions and 5 deletions

View File

@@ -12,8 +12,18 @@ on:
branches: ["main"] branches: ["main"]
# Publish semver tags as releases. # Publish semver tags as releases.
tags: ["v*.*.*"] tags: ["v*.*.*"]
# Exclude translation files - those are handled by workflow_run after Translate completes
paths-ignore:
- 'apps/web/src/locales/**/*.po'
- 'apps/web/src/locales/**/*.ts'
pull_request: pull_request:
branches: ["main"] branches: ["main"]
workflow_run:
workflows: ["Translate"]
types: [completed]
branches: [main]
# Docker builds after Translate completes (success or failure)
# This ensures Docker always has the latest translations
env: env:
# Use docker.io for Docker Hub if empty # Use docker.io for Docker Hub if empty
@@ -23,6 +33,9 @@ env:
jobs: jobs:
build: build:
concurrency:
group: docker-build-${{ github.ref }}
cancel-in-progress: true
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read

View File

@@ -22,7 +22,7 @@ jobs:
- name: Extract translations - name: Extract translations
working-directory: apps/web working-directory: apps/web
run: npx @lingui/cli extract run: npx --yes @lingui/cli extract
- name: Lingo.dev - name: Lingo.dev
uses: lingodotdev/lingo.dev@main uses: lingodotdev/lingo.dev@main
@@ -30,16 +30,20 @@ jobs:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }} api-key: ${{ secrets.LINGODOTDEV_API_KEY }}
commit-message: "chore: update translations" commit-message: "chore: update translations"
working-directory: apps/web working-directory: apps/web
commit-author-name: "${{ github.actor }}"
commit-author-email: "${{ github.actor }}@users.noreply.github.com"
parallel: true parallel: true
- name: Compile translations - name: Compile translations
working-directory: apps/web working-directory: apps/web
run: npx @lingui/cli compile --typescript run: npx --yes @lingui/cli compile --typescript
- name: Commit compiled translations - name: Commit compiled translations
run: | run: |
git config --local user.email "${{ github.actor }}@users.noreply.github.com" git config --local user.email "${{ github.actor }}@users.noreply.github.com"
git config --local user.name "${{ github.actor }}" git config --local user.name "${{ github.actor }}"
git add apps/web/src/locales/*/messages.ts if ls apps/web/src/locales/*/messages.ts 1> /dev/null 2>&1; then
git diff --staged --quiet || git commit -m "chore: compile translations" git add apps/web/src/locales/*/messages.ts
git push git diff --staged --quiet || (git commit -m "chore: compile translations" && git push)
fi