mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-12 17:09:37 +08:00
Remove the explicit `with: version: 9` lines from multiple GitHub Actions workflows (auto-i18n.yml, nightly-build.yml, pr-ci.yml, update-app-upgrade-config.yml, sync-to-gitcode.yml, release.yml). The workflows still call `pnpm/action-setup@v4` but no longer hardcode a pnpm version. This simplifies maintenance and allows the action to resolve an appropriate pnpm version (or use its default) without needing updates whenever the pinned version becomes outdated. It reduces churn when bumping pnpm across CI configs and prevents accidental pin drift between workflow files.
93 lines
3.1 KiB
YAML
93 lines
3.1 KiB
YAML
name: Auto I18N Weekly
|
|
|
|
env:
|
|
TRANSLATION_API_KEY: ${{ secrets.TRANSLATE_API_KEY }}
|
|
TRANSLATION_MODEL: ${{ vars.AUTO_I18N_MODEL || 'deepseek/deepseek-v3.1'}}
|
|
TRANSLATION_BASE_URL: ${{ vars.AUTO_I18N_BASE_URL || 'https://api.ppinfra.com/openai'}}
|
|
TRANSLATION_BASE_LOCALE: ${{ vars.AUTO_I18N_BASE_LOCALE || 'en-us'}}
|
|
|
|
on:
|
|
schedule:
|
|
# Runs at 00:00 UTC every Sunday.
|
|
# This corresponds to 08:00 AM UTC+8 (Beijing time) every Sunday.
|
|
- cron: "0 0 * * 0"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
auto-i18n:
|
|
runs-on: ubuntu-latest
|
|
name: Auto I18N
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- name: 🐈⬛ Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: 📦 Setting Node.js
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 22
|
|
|
|
- name: 📦 Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: 📂 Get pnpm store directory
|
|
id: pnpm-cache
|
|
shell: bash
|
|
run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
|
|
|
|
- name: 💾 Cache pnpm dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
|
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pnpm-
|
|
|
|
- name: 📦 Install dependencies
|
|
run: |
|
|
pnpm install
|
|
|
|
- name: 🏃♀️ Translate
|
|
run: pnpm i18n:sync && pnpm i18n:translate
|
|
|
|
- name: 🔍 Format
|
|
run: pnpm format
|
|
|
|
- name: 🔍 Check for changes
|
|
id: git_status
|
|
run: |
|
|
# Check if there are any uncommitted changes
|
|
git reset -- package.json pnpm-lock.yaml # 不提交 package.json 和 pnpm-lock.yaml 的更改
|
|
git diff --exit-code --quiet || echo "::set-output name=has_changes::true"
|
|
git status --porcelain
|
|
|
|
- name: 📅 Set current date for PR title
|
|
id: set_date
|
|
run: echo "CURRENT_DATE=$(date +'%b %d, %Y')" >> $GITHUB_ENV # e.g., "Jun 06, 2024"
|
|
|
|
- name: 🚀 Create Pull Request if changes exist
|
|
if: steps.git_status.outputs.has_changes == 'true'
|
|
uses: peter-evans/create-pull-request@v6
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }} # Use the built-in GITHUB_TOKEN for bot actions
|
|
commit-message: "feat(bot): Weekly automated script run"
|
|
title: "🤖 Weekly Auto I18N Sync: ${{ env.CURRENT_DATE }}"
|
|
body: |
|
|
This PR includes changes generated by the weekly auto i18n.
|
|
Review the changes before merging.
|
|
|
|
---
|
|
_Generated by the automated weekly workflow_
|
|
branch: "auto-i18n-weekly-${{ github.run_id }}" # Unique branch name
|
|
base: "main" # Or 'develop', set your base branch
|
|
delete-branch: true # Delete the branch after merging or closing the PR
|
|
|
|
- name: 📢 Notify if no changes
|
|
if: steps.git_status.outputs.has_changes != 'true'
|
|
run: echo "Bot script ran, but no changes were detected. No PR created."
|