[Core feature request] Pinning action versions to commit hashes updateable by bots

Abierto
#1,691 10 comentarios 5 reacciones 1 asignado Ver en GitHub

@krzema12 ya está trabajando en esto.

Desde el 27/4/2025.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

enhancement

What feature do you need?
By default, when using a binding provided by the bindings server, we refer by the major or full version. It can be a branch or a tag. While major version tags/branches change and it's expected, full versions shouldn't. However, technically nothing stops the action owner to hard-reset some full version branch/tag to point to a different commit, and no one will notice it.

That's why, as a part of security hardening, some workflow owners use full SHA-1 of commits they want to use for each action. It guarantees the action's code won't silently change.

Users of github-workflows-kt can already do it using _customVersion constructor argument:

UploadArtifact(
    // ...
    _customVersion = "actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11",
)

However, dependency updating bots cannot update such commit hashes.

In theory we could try allowing such format when specifying a dependency on an action:

@file:DependsOn("actions:checkout:b4ffde65f46336ab88eb53be808477a3936bae11")

but then, even if we make this commit hash be updated to the right value, there's no mechanism to keep the full version in the comment, like shown in the below example.

Do you have an example usage?

uses: 'actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11' # v4.1.1

Is there a workaround for not having this feature? If yes, please describe it.
No way to make the dependency updating bots work, just specifying the commit hash as version.

Lenguaje dominante
Kotlin
Estrellas
664
Forks
30
Merge medio
4 d 19 h
PR fusionados (30 d)
5

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de typesafegithub/github-workflows-kt

Todos los issues de typesafegithub/github-workflows-kt

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.