Repository navigation
fix(ci): use gpt-6.1-terra for AI translations and fail on translation errors - #2356
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Translation failure paths can bypass failure markers, allowing English text to be inserted as translations or empty uploads to abort partial-results PR creation.
1 open issue
What changed in this PR
Updates the automated GUI translation workflow to use a replacement AI model and expose translation failures while allowing finalization to proceed with partial results.
Changes:
- Switches the inference model from
gpt-5.4togpt-6.1-sol. - Reports unsuccessful translation chunks as job failures unless cancelled.
- Allows finalization after translation-job failures when string extraction succeeded and
.pofiles changed.
| File | Description |
|---|---|
.github/workflows/ai-translation.yml |
Updates the AI model, failure reporting, and conditions for partial-results finalization. |
Review effort: Balanced
| if: needs.extract_strings.outputs.po-files-changed == 'true' | ||
| # Run even if some ai_translate jobs failed, so the .pot/.po merge and the successful translations still reach the PR. | ||
| # The failed ai_translate jobs already turn the workflow run red. | ||
| if: ${{ !cancelled() && needs.extract_strings.result == 'success' && needs.extract_strings.outputs.po-files-changed == 'true' }} |
Previous review (2026-11-09)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head This needs one change before merging: letting finalize run after failed translation jobs exposes a path where untranslated English is committed as translations. Blocking
Low
|
07d8240 to
3a3a93f
Compare
Previous review (2026-11-09)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head The earlier blocker is fixed and nothing here blocks merging; two low-severity gaps in the new partial-results path are worth a look. Since the last review the head moved from 07d8240 to 3a3a93f: 'Handle translation failure' now also runs on failure(), so hard Check or Save failures upload a failure marker instead of English or empty chunks, and the model is now gpt-6.1-terra. Low
Minor (1)
Withdrawn: the Report step's success message after a Save failure is the same on master and the job still fails; the missing commit-message bullet for the Handle change is just style. |
…n errors GitHub retired the gpt-5.4 Copilot model on 2026-10-19. Since then every "Run AI translation" job failed with: Copilot CLI stderr: Error: Model "gpt-5.4" from --model flag is not available. The failure was invisible: the step uses continue-on-error, the check step exits 0, and only a ::warning:: annotation was emitted. Workflow runs stayed green while the generated PR (merge-i18n-po-strings) contained no .po translations, only recompiled .mo files. Changes: - Switch the actions/ai-inference model from gpt-5.4 to gpt-6.1-terra. - Make "Report translation status" exit 1 and emit ::error:: when a chunk was not translated, so the ai_translate job (and the workflow run) is marked as failed. The placeholder artifact is still uploaded beforehand, and the other matrix chunks keep running (fail-fast is false). - Run "Report translation status" unless the job is cancelled, instead of always(). - Let finalize_translations run even if some ai_translate jobs failed (!cancelled() and extract_strings succeeded), so the .pot/.po string merge and the successful translations still reach the PR. Without this, failing translate jobs would skip the finalize job and no PR would be created. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
3a3a93f to
3cc540c
Compare
☂️ Code Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
Test Results 3 files 3 suites 40m 33s ⏱️ Results for commit 3cc540c. |
|
Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Both remaining points from the last review are fixed, and nothing at head 3cc540c needs changing. Since the previous review at 3a3a93f, Not raised: the commit body's Changes list doesn't mention the loader rewrite or the Handle/Upload condition changes, but no repository rule requires a bullet per change. |

Description
GitHub retired the gpt-5.4 Copilot model on 2026-10-19. Since then every "Run AI translation" job failed with:
Copilot CLI stderr: Error: Model "gpt-5.4" from --model flag is not available.
The failure was invisible: the step uses continue-on-error, the check step exits 0, and only a ::warning:: annotation was emitted. Workflow runs stayed green while the generated PR (merge-i18n-po-strings) contained no .po translations, only recompiled .mo files.
Changes:
Checklist
git commit --signoff)Testing
Describe how you tested these changes: