Update Locales for given custom node repository #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Locales for given custom node repository | |
on: | |
workflow_dispatch: | |
inputs: | |
owner: | |
description: 'Owner of the repository to update locales for' | |
required: true | |
type: string | |
repository: | |
description: 'Repository to update locales for' | |
required: true | |
type: string | |
fork_owner: | |
description: 'Owner of the forked repository' | |
required: false | |
type: string | |
default: 'Comfy-Org' | |
jobs: | |
update-locales: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout ComfyUI | |
uses: actions/checkout@v4 | |
with: | |
repository: 'comfyanonymous/ComfyUI' | |
path: 'ComfyUI' | |
ref: master | |
- name: Checkout ComfyUI_frontend | |
uses: actions/checkout@v4 | |
with: | |
repository: 'Comfy-Org/ComfyUI_frontend' | |
path: 'ComfyUI_frontend' | |
- name: Checkout ComfyUI_devtools | |
uses: actions/checkout@v4 | |
with: | |
repository: 'Comfy-Org/ComfyUI_devtools' | |
path: 'ComfyUI/custom_nodes/ComfyUI_devtools' | |
- name: Checkout custom node repository | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ inputs.owner }}/${{ inputs.repository }} | |
path: 'ComfyUI/custom_nodes/${{ inputs.repository }}' | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install ComfyUI requirements | |
run: | | |
python -m pip install --upgrade pip | |
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu | |
pip install -r requirements.txt | |
pip install wait-for-it | |
shell: bash | |
working-directory: ComfyUI | |
- name: Install custom node requirements | |
run: | | |
if [ -f "requirements.txt" ]; then | |
pip install -r requirements.txt | |
fi | |
shell: bash | |
working-directory: ComfyUI/custom_nodes/${{ inputs.repository }} | |
- name: Build & Install ComfyUI_frontend | |
run: | | |
npm ci | |
npm run build | |
rm -rf ../ComfyUI/web/* | |
mv dist/* ../ComfyUI/web/ | |
shell: bash | |
working-directory: ComfyUI_frontend | |
- name: Start ComfyUI server | |
run: | | |
python main.py --cpu --multi-user & | |
wait-for-it --service 127.0.0.1:8188 -t 600 | |
working-directory: ComfyUI | |
shell: bash | |
- name: Install Playwright Browsers | |
run: npx playwright install chromium --with-deps | |
working-directory: ComfyUI_frontend | |
- name: Start dev server | |
# Run electron dev server as it is a superset of the web dev server | |
# We do want electron specific UIs to be translated. | |
run: npm run dev:electron & | |
working-directory: ComfyUI_frontend | |
- name: Capture base i18n | |
run: npx tsx scripts/diff-i18n capture | |
working-directory: ComfyUI_frontend | |
- name: Update en.json | |
run: npm run collect-i18n | |
env: | |
PLAYWRIGHT_TEST_URL: http://localhost:5173 | |
working-directory: ComfyUI_frontend | |
- name: Update translations | |
run: npm run locale | |
env: | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
working-directory: ComfyUI_frontend | |
- name: Diff base vs updated i18n | |
run: npx tsx scripts/diff-i18n diff | |
working-directory: ComfyUI_frontend | |
- name: Update i18n in custom node repository | |
run: | | |
LOCALE_DIR=ComfyUI/custom_nodes/${{ inputs.repository }}/locales/ | |
install -d "$LOCALE_DIR" | |
cp -rf ComfyUI_frontend/temp/diff/* "$LOCALE_DIR" | |
- name: Check and create fork of custom node repository | |
run: | | |
gh repo fork ${{ inputs.owner }}/${{ inputs.repository }} --clone=false || { | |
echo "Fork failed - repository might already be forked" | |
# Exit 0 to prevent the workflow from failing | |
exit 0 | |
} | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
- name: Commit and push changes | |
run: | | |
git config --global user.name 'github-actions' | |
git config --global user.email '[email protected]' | |
git checkout -b update-locales | |
git add -A | |
git commit -m "Update locales" | |
git remote add org_fork https://${{ secrets.GH_TOKEN }}@github.com/${{ inputs.fork_owner }}/${{ inputs.repository }}.git | |
git push org_fork update-locales | |
gh pr create --title "Update locales for ${{ inputs.repository }}" --repo ${{ inputs.owner }}/${{ inputs.repository }} --head ${{ inputs.fork_owner }}:update-locales | |
working-directory: ComfyUI/custom_nodes/${{ inputs.repository }} | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} |