diff --git a/.github/workflows/helm-docs.yaml b/.github/workflows/helm-docs.yaml index 6ed5937fe..3b1f631b7 100644 --- a/.github/workflows/helm-docs.yaml +++ b/.github/workflows/helm-docs.yaml @@ -6,7 +6,7 @@ on: - "*" paths: - 'helm/**' - workflow_dispatch: ~ + workflow_dispatch: ~ push: branches: [ main ] paths: @@ -39,7 +39,6 @@ jobs: rm -f ./helm-docs translate-readme: - if: ${{ ! always() }} needs: helm runs-on: ubuntu-latest @@ -52,7 +51,26 @@ jobs: sudo apt-get update sudo apt-get install -y jq + - name: Compare README.md + id: compare_readme + run: | + cd ./helm/higress + BASE_BRANCH=main + UPSTREAM_REPO=https://github.com/alibaba/higress.git + + TEMP_DIR=$(mktemp -d) + git clone --depth 1 --branch $BASE_BRANCH $UPSTREAM_REPO $TEMP_DIR + + if diff -q "$TEMP_DIR/README.md" README.md > /dev/null; then + echo "README.md has no changes in comparison to base branch. Skipping translation." + echo "skip_translation=true" >> $GITHUB_ENV + else + echo "README.md has changed in comparison to base branch. Proceeding with translation." + echo "skip_translation=false" >> $GITHUB_ENV + fi + - name: Translate README.md to Chinese + if: env.skip_translation == 'false' env: API_URL: ${{ secrets.HIGRESS_OPENAI_API_URL }} API_KEY: ${{ secrets.HIGRESS_OPENAI_API_KEY }} @@ -79,37 +97,30 @@ jobs: -H "Authorization: Bearer $API_KEY" \ -d "$PAYLOAD") - echo "response: $RESPONSE" + echo "Response: $RESPONSE" - TRANSLATED_CONTENT=$(echo "$RESPONSE" | jq -r '.choices[0].message.content') + echo "$RESPONSE" | jq -c -r '.choices[] | .message.content' > README.zh.new.md - if [ -z "$TRANSLATED_CONTENT" ]; then - echo "Translation failed! Response: $RESPONSE" + if [ -f "README.zh.new.md" ]; then + echo "Translation completed and saved to README.zh.new.md." + else + echo "Translation failed or no content returned!" exit 1 fi - echo "$TRANSLATED_CONTENT" > README.zh.new.md - echo "Translation completed and saved to README.zh.new.md." + mv README.zh.new.md README.zh.md - - name: Compare README.zh.md - id: compare - run: | - cd ./helm/higress - NEW_README_ZH="README.zh.new.md" - EXISTING_README_ZH="README.zh.md" + - name: Create Pull Request + if: env.skip_translation == 'false' + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "Update helm translated README.zh.md" + branch: update-helm-readme-zh + title: "Update helm translated README.zh.md" + body: | + This PR updates the translated README.zh.md file. - if [ ! -f "$EXISTING_README_ZH" ]; then - echo "Add README.zh.md." - mv "$NEW_README_ZH" "$EXISTING_README_ZH" - echo "updated=true" >> $GITHUB_ENV - exit 0 - fi - - if ! diff -q "$NEW_README_ZH" "$EXISTING_README_ZH"; then - echo "Files are different. Updating README.zh.md." - mv "$NEW_README_ZH" "$EXISTING_README_ZH" - echo "updated=true" >> $GITHUB_ENV - else - echo "Files are identical. No update needed." - echo "updated=false" >> $GITHUB_ENV - fi + - Automatically generated by GitHub Actions + labels: translation, automated + base: main \ No newline at end of file