diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml new file mode 100644 index 000000000..fb7ad61e6 --- /dev/null +++ b/.github/workflows/update-docs.yml @@ -0,0 +1,47 @@ +name: "Update Translated Docs" + +# This GitHub Actions job automates the process of updating all translated document pages. Please note the following: +# 1. The translation results may vary each time; some differences in detail are expected. +# 2. When you add a new page to the left-hand menu, **make sure to manually update mkdocs.yml** to include the new item. +# 3. If you switch to a different LLM (for example, from o3 to a newer model), be sure to conduct thorough testing before making the switch. + +on: + push: + branches: + - main + paths: + - 'docs/**' + - mkdocs.yml + +jobs: + update-docs: + name: Build and Push Translated Docs + runs-on: ubuntu-latest + timeout-minutes: 20 + env: + PROD_OPENAI_API_KEY: ${{ secrets.PROD_OPENAI_API_KEY }} + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup uv + uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + - name: Install dependencies + run: make sync + - name: Build full docs + run: make build-full-docs + + - name: Commit and push changes + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add docs/ + if [ -n "$(git status --porcelain)" ]; then + git commit -m "Update all translated document pages" + git push + else + echo "No changes to commit" + fi diff --git a/docs/scripts/translate_docs.py b/docs/scripts/translate_docs.py index ac40b6fa8..a337a90ef 100644 --- a/docs/scripts/translate_docs.py +++ b/docs/scripts/translate_docs.py @@ -30,7 +30,8 @@ } # Initialize OpenAI client -openai_client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) +api_key = os.getenv("PROD_OPENAI_API_KEY") or os.getenv("OPENAI_API_KEY") +openai_client = OpenAI(api_key=api_key) # Define dictionaries for translation control do_not_translate = [