feat: add official GitHub Action for CI/CD translation automation - #2
Conversation
Peyton-Spencer
left a comment
There was a problem hiding this comment.
I found a few blocking issues in the composite action behavior that should be fixed before merging.
-
The install step mutates the consumer repository.
npm install -D solid-translate,bun add -d solid-translate,pnpm add -D solid-translate, andyarn add -D solid-translateall update package manifests and lockfiles. The later change detector treats any changed JSON file as translation output, so a first run can reportchanged=truejust becausepackage.jsonchanged, andcommit: truecan commit dependency installation changes back to the user's repo. An action should avoid persistent dependency mutation, for example by running the packaged CLI via the action checkout or by using a non-mutating package execution path. -
The change detection/output scope is too broad and too narrow at the same time. It flags every changed JSON file, including
package.json, unrelated config, or app data, but misses.solid-translate.lockwhen it is the only changed file and misses the Markdown/MDX paths that the README says the CLI supports. That makeschangedandfilesunreliable and can skip commits that should happen. -
User-controlled inputs are interpolated directly into shell scripts. In particular
commit-messageis expanded insidegit commit -m "...", andpackage-manageris expanded inside the shellcase. GitHub evaluates those expressions before bash runs, so quotes or command substitutions in inputs can alter the script. Please pass inputs through environment variables and quote the shell variables, and validate enum-like inputs explicitly. -
The README example combines
pull_request,contents: write, andcommit: true, but the action commits and runs plaingit push. Withactions/checkoutdefaults on PR events this is often a detached merge ref or read-only token path, especially for forks, so the documented workflow is likely to fail or behave inconsistently. The docs should either show a push-only auto-commit flow or a PR-safe pattern with an explicit checkout ref/PR creation step.
CI is green, and the committed bun.lock looks consistent with the current Bun-based CI. These action-level issues are enough that I would not merge this version yet.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
5c1f902 to
6690ab9
Compare
# [1.1.0](v1.0.0...v1.1.0) (2026-05-03) ### Features * add official GitHub Action for CI/CD translation automation ([#2](#2)) ([040e6d4](040e6d4))
Summary
action.yml— a composite GitHub Action (omniaura/solid-translate@v1) that installs, extracts, and translates with any package manager, optionally auto-committing resultschangedandfilesoutputs for downstream workflow stepsTest plan
action.ymlsyntax is valid via GitHub Actions lintercommand: extractcommand: bothand an API keycommit: trueflow commits and pushes translation fileschanged,files) propagate to subsequent steps🤖 Generated with Claude Code