Skip to main content

Artefactos del flujo de trabajo

Obtén información sobre cómo almacenar y compartir datos como artefactos de flujos de trabajo de GitHub Actions.

Acerca de los artefactos de flujo de trabajo

Un artefacto es un archivo o recopilación de archivos producidos durante una ejecución de flujo de trabajo. Los artefactos te permiten hacer datos persistentes después de que se complete un job y comparten estos datos con otro job en el mismo flujo de trabajo. Por ejemplo, puedes utilizar artefactos para guardar tu compilación y probar el resultado después de que haya terminado una ejecución de flujo de trabajo.

GitHub proporciona dos acciones que puedes usar para cargar y descargar artefactos de compilación: upload-artifact y download-artifact.

Entre los artefactos comunes se incluyen los siguientes:

  • Archivos de registro y vaciados de memoria
  • Resultados de prueba, fallas y capturas de pantalla
  • Archivos binarios o comprimidos
  • Resultado de la prueba de rendimiento y resultados de la cobertura del código

Comparar artefactos y caché de dependencias

Los artefactos y el almacenamiento en caché son similares porque brindan la posibilidad de almacenar archivos en GitHub, pero cada característica ofrece diferentes casos de uso y no se puede usar indistintamente.

  • Usa el almacenamiento en caché cuando quieras reutilizar archivos que no cambian a menudo entre trabajos o ejecuciones de flujo de trabajo, como las dependencias de compilación de un sistema de administración de paquetes.
  • Usa artefactos cuando quieras guardar los archivos que genera un trabajo para verlos una vez que ha finalizado la ejecución de un flujo de trabajo (por ejemplo, archivos binarios compilados o registros de compilación).

Para más información sobre el almacenamiento en caché de dependencias, consulta Referencia de almacenamiento en caché de dependencias.

Generación de atestaciones de artefactos para compilaciones

Las atestaciones de artefactos permiten crear garantías de integridad y procedencia no verificables para el software que compile. A su vez, las personas que consumen el software pueden comprobar dónde y cómo se compiló el software.

Al generar atestaciones de artefactos con el software, se crean notificaciones firmadas criptográficamente que establecen la procedencia de la compilación e incluyen la siguiente información:

  • Vínculo al flujo de trabajo asociado al artefacto
  • El repositorio, la organización, el entorno, la confirmación de SHA y el evento desencadenante para el artefacto
  • Otra información del token de OIDC que se usa para establecer la procedencia. Para más información, consulta OpenID Connect.

También puede generar atestaciones de artefactos que incluyan una lista de materiales de software asociada (SBOM). Asociar las compilaciones con una lista de las dependencias de código abierto usadas en ellas proporciona transparencia y permite a los consumidores cumplir con los estándares de protección de datos.

Puede acceder a las atestaciones después de ejecutar una compilación, debajo de la lista de artefactos que generó la compilación.

Para más información, consulta Uso de atestaciones de artefactos para establecer la procedencia de las compilaciones.

Artefactos de ejecuciones de flujo de trabajo eliminadas

Cuando se elimina una ejecución de flujo de trabajo, también se eliminan del almacenamiento todos los artefactos asociados a la ejecución. Puedes eliminar una ejecución de flujo de trabajo mediante la interfaz de usuario de Acciones de GitHub, la API REST o la CLI de GitHub, consulta: Borrar una ejecución de flujo de trabajo, Eliminación de una ejecución de flujo de trabajo o gh run delete.