-
Notifications
You must be signed in to change notification settings - Fork 2.2k
130 lines (116 loc) · 4.17 KB
/
Copy pathco-op-translator.yml
File metadata and controls
130 lines (116 loc) · 4.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Co-op Translator
on:
workflow_dispatch:
push:
branches:
- main
paths:
- "**/*.md"
- "**/*.png"
- "**/*.jpg"
- "**/*.jpeg"
- "**/*.webp"
- "!translations/**"
- "!translated_images/**"
- "!.github/**"
- "!samples/skills/**"
permissions:
contents: write
pull-requests: write
jobs:
translate-content:
name: Translate Markdown and Images
runs-on: ubuntu-latest
timeout-minutes: 90
env:
TRANSLATION_LANGUAGES: "es"
PYTHONIOENCODING: utf-8
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
AZURE_OPENAI_MODEL_NAME: ${{ secrets.AZURE_OPENAI_MODEL_NAME }}
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }}
AZURE_OPENAI_API_VERSION: ${{ secrets.AZURE_OPENAI_API_VERSION }}
AZURE_AI_SERVICE_API_KEY: ${{ secrets.AZURE_AI_SERVICE_API_KEY }}
AZURE_AI_SERVICE_ENDPOINT: ${{ secrets.AZURE_AI_SERVICE_ENDPOINT }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_ORG_ID: ${{ secrets.OPENAI_ORG_ID }}
OPENAI_CHAT_MODEL_ID: ${{ secrets.OPENAI_CHAT_MODEL_ID }}
OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Co-op Translator
run: |
python -m pip install --upgrade pip
python -m pip install co-op-translator
- name: Translate Markdown
run: |
for attempt in 1 2 3; do
if translate -l "$TRANSLATION_LANGUAGES" -md -y -s --repo-url "https://github.com/github/copilot-cli-for-beginners.git"; then
exit 0
fi
echo "Markdown translation attempt $attempt failed."
if [ "$attempt" -lt 3 ]; then
sleep 30
fi
done
exit 1
- name: Translate images
run: |
for attempt in 1 2 3; do
if translate -l "$TRANSLATION_LANGUAGES" -img -y -s --repo-url "https://github.com/github/copilot-cli-for-beginners.git"; then
exit 0
fi
echo "Image translation attempt $attempt failed."
if [ "$attempt" -lt 3 ]; then
sleep 30
fi
done
exit 1
- name: Normalize and review translations
run: |
migrate-links -l "$TRANSLATION_LANGUAGES" -y
node .github/scripts/fix-translated-markdown.js "$TRANSLATION_LANGUAGES"
if command -v co-op-review >/dev/null 2>&1; then
co-op-review -l "$TRANSLATION_LANGUAGES" --format github
else
echo "co-op-review is not available in the installed Co-op Translator package; skipping."
fi
- name: Remove excluded translations
run: |
for language in $TRANSLATION_LANGUAGES; do
rm -rf \
"translations/$language/.github" \
"translations/$language/samples/skills" \
"translated_images/$language/.github" \
"translated_images/$language/samples/skills"
done
- name: Upload Co-op Translator logs
if: always()
uses: actions/upload-artifact@v4
with:
name: co-op-translator-logs
path: logs/
if-no-files-found: ignore
- name: Create pull request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GH_AW_GITHUB_TOKEN }}
commit-message: "Update translations via Co-op Translator"
title: "Update translations via Co-op Translator"
body: |
This PR updates Markdown and image translations generated by Co-op Translator.
Generated content is available in the `translations/` and `translated_images/` directories.
branch: update-translations
base: main
labels: translation, automated-pr
delete-branch: true
add-paths: |
translations/
translated_images/