Fix-mode `--json` reports a `sha-as-ref` warning for a ref the same run just rewrote to a tag
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start by tracing how --json=valid,findings gathers sha-as-ref findings and how the default fix run rewrites workflow uses: lines; the issue does not name implementation files or tests. Reproduce with the supplied workflow and compare the first run's JSON findings with the rewritten line and terminal summary. Done when the first run's JSON no longer reports a warning for the SHA it replaced; linked pull request #277 is already open.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened
A default fix run that rewrites uses: owner/repo@<sha> # vX.Y.Z to uses: owner/[email protected] still emits a sha-as-ref warning in its --json output, keyed by the SHA that is no longer in the workflow.
The remediation says "pin to a tag instead", which is what the run just did. A second run reports nothing. The terminal summary of the same run shows no warning.
Steps to reproduce
mkdir repro && cd repro && git init -q
mkdir -p .github/workflows
cat > .github/workflows/ci.yml <<'EOF'
name: ci
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
EOF
gh actions-lock --no-interactive --json=valid,findings 2>/dev/null
First run output (workflow now reads uses: actions/[email protected]):
{
"cli_version": "v0.4.1",
"findings": [
{
"workflow": ".github/workflows/ci.yml",
"category": "sha-as-ref",
"severity": "warning",
"confidence": "high",
"dependency": "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1",
"detail": "pinned to a bare SHA without a symbolic ref — weakens supply-chain traceability",
"remediation": "pin to a tag instead: https://github.com/actions/checkout/releases",
"doc_url": "https://github.com/github/gh-actions-lock/blob/main/docs/troubleshooting.md#sha-as-ref"
}
],
"lockfile_version": "v0.0.3",
"valid": true
}
Second run of the same command: "findings": [].
Same first run without --json prints only the pin summary, no warning:
Scanning 1 workflow
Planning pins
Pinned 1 action across 1 workflow
actions/[email protected] (3d3c42e)
└─ .github/workflows/ci.yml
With --no-narrow the workflow is left as written and the warning is accurate, so this only affects the default rewrite path.
Expected
Post-fix JSON should not carry a warning whose subject the write removed. Either drop warnings the fix resolved, or re-evaluate sha-as-ref against the rewritten uses: lines.
Environment
- gh-actions-lock v0.4.1 (
gh extension install github/gh-actions-lock --pin v0.4.1), lockfile schema v0.0.3 - gh 2.x on macOS 26 (arm64), github.com
- Lenguaje dominante
- Go
- Estrellas
- 317
- Forks
- 24
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 50
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de github/gh-actions-lock
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
github/gh-actions-lock#271 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
github/gh-actions-lock#284 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
github/gh-actions-lock#281 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
github/gh-actions-lock#280 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
github/gh-actions-lock#279 ·
Los mantenedores suelen responder en 1 día
Todos los issues de github/gh-actions-lock
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
prime-radiant-inc/evener#6325 ·
Los mantenedores suelen responder en 1 día
-
team:library-maintainers
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
padok-team/burrito#1208 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
bazel-contrib/rules_go#4784 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
betterleaks/betterleaks#484 ·
Los mantenedores suelen responder en 1 día