99 - " docs/cn/**/*"
1010 - " docs/release-notes/**/*"
1111 - " docs/fragment/**/*"
12-
1312 - " docs/release-stable/**/*"
1413 - " api/**/*"
1514 - " i18n/**/*"
@@ -28,10 +27,14 @@ jobs:
2827 with :
2928 fetch-depth : 2
3029
31- - name : get changed files name
30+ - name : Get changed files name
3231 id : changed_files
3332 run : |
34- echo "files=$(git diff --diff-filter=d --name-only HEAD^ HEAD | grep '\.md$' | grep -v 'cn' | sed -e 's/^/.\//' | tr '\n' ' ')" >> $GITHUB_OUTPUT
33+ added_or_modified=$(git diff --diff-filter=d --name-only HEAD^ HEAD | grep '\.md$' | grep -v 'cn')
34+ echo "files=$(echo "$added_or_modified" | sed -e 's/^/.\//' | tr '\n' ' ')" >> $GITHUB_OUTPUT
35+
36+ deleted=$(git diff --diff-filter=D --name-only HEAD^ HEAD | grep '\.md$' | grep -v 'cn')
37+ echo "deleted_files=$(echo "$deleted" | tr '\n' ' ')" >> $GITHUB_OUTPUT
3538
3639 - name : Read prompt from file
3740 id : prompt
4144 echo 'EOF' >> $GITHUB_OUTPUT
4245
4346 - name : Run GPT Translate
47+ if : steps.changed_files.outputs.files != ''
44484549 with :
4650 apikey : ${{ secrets.API_KEY }}
5054 languages : " Simplified-Chinese"
5155 prompt : " ${{ steps.prompt.outputs.prompt }}"
5256 basePath : ${{ secrets.BASE_URL }}
57+
58+ - name : Delete corresponding Chinese files
59+ if : steps.changed_files.outputs.deleted_files != ''
60+ run : |
61+ for file in ${{ steps.changed_files.outputs.deleted_files }}; do
62+ cn_file="docs/cn/$file"
63+ if [ -f "$cn_file" ]; then
64+ echo "Deleting $cn_file"
65+ git rm "$cn_file"
66+ fi
67+ done
68+
69+ - name : Commit deleted translations
70+ if : steps.changed_files.outputs.deleted_files != ''
71+ run : |
72+ git config user.name "github-actions"
73+ git config user.email "[email protected] " 74+ git commit -m "chore(i18n): remove translated docs for deleted English sources" || echo "Nothing to commit"
75+ git push
0 commit comments