Bug
Running lingo.dev ci inside the official lingodotdev/ci-action Docker image fails immediately:
/bin/sh: git: not found
Error: Command failed: git config --global safe.directory /builds/...
at InBranchFlow.configureGit (.../cli.mjs:14044:5)
at InBranchFlow.preRun (.../cli.mjs:13978:30)
Root cause
The root Dockerfile is FROM node:20.12.2-alpine with no additional package install. Alpine's Node image does not ship git.
InBranchFlow.configureGit (packages/cli/src/cli/cmd/ci/flows/in-branch.ts:100) unconditionally runs git config --global safe.directory … via execSync as its first step, so any ci invocation of this image fails at preRun.
This code has required git since the original feat: ci cmd commit (77633531, May 2025). The GitHub composite action path is unaffected because it runs on a runner that already has git. The Docker image path (e.g. GitLab CI using image: lingodotdev/ci-action:latest) is broken.
Reproduction
GitLab CI:
translate:
image:
name: lingodotdev/ci-action:latest
entrypoint: ['']
script:
- npx lingo.dev@latest ci --api-key "$LINGODOTDEV_API_KEY"
Fails with the error above.
Proposed fix
One-line addition to Dockerfile:
FROM node:20.12.2-alpine
RUN apk add --no-cache git
ENTRYPOINT [...]
Happy to submit the PR if assigned.
Bug
Running
lingo.dev ciinside the officiallingodotdev/ci-actionDocker image fails immediately:Root cause
The root
DockerfileisFROM node:20.12.2-alpinewith no additional package install. Alpine's Node image does not shipgit.InBranchFlow.configureGit(packages/cli/src/cli/cmd/ci/flows/in-branch.ts:100) unconditionally runsgit config --global safe.directory …viaexecSyncas its first step, so anyciinvocation of this image fails atpreRun.This code has required
gitsince the originalfeat: ci cmdcommit (77633531, May 2025). The GitHub composite action path is unaffected because it runs on a runner that already hasgit. The Docker image path (e.g. GitLab CI usingimage: lingodotdev/ci-action:latest) is broken.Reproduction
GitLab CI:
Fails with the error above.
Proposed fix
One-line addition to
Dockerfile:Happy to submit the PR if assigned.