chore: improve translation workflow
This commit is contained in:
13
.github/workflows/docker-publish.yml
vendored
13
.github/workflows/docker-publish.yml
vendored
@@ -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
|
||||||
|
|||||||
14
.github/workflows/translate.yml
vendored
14
.github/workflows/translate.yml
vendored
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user