SuperAPI AI 工具集

add-artifact-attestations-to-workflow

办公与效率

查看项目

更新于 10-15 23:32

技能介绍

用途:为已有的 GitHub Actions 工作流添加 SLSA 构建来源证明(build-provenance attestations),面向 Docker 容器镜像。

主要能力与步骤:

  1. 在 .github/workflows/ 中查找包含 docker/build-push-action 或类似步骤的工作流;若使用复合操作(composite action),需同时阅读复合操作与调用它的工作流。
  2. 在每个工作流顶层 permissions 块中授予 OIDC 令牌与 attestations 写权限: permissions: id-token: write attestations: write contents: read packages: write
  3. 确保为要证明的每个镜像仓库存在登录步骤,例如 GHCR、Docker Hub、Quay,使用 docker/login-action@v3。是否遗漏应依据实际实现内容判断,而非一律登录所有仓库。
  4. 使用带 id 的 docker/build-push-action@v* 构建并推送镜像,以便引用其输出 digest。
  5. 在构建步骤之后,为每个仓库插入一个 actions/attest-build-provenance@v3 调用;subject-name 为不带标签的完整镜像名,subject-digest 取自构建步骤输出。
  6. 用英文写提交信息并提交,例如: git add .github/workflows/docker_publish.yml git commit --signoff -m "ci: add build-provenance attestations for container images"

限制:该技能不会执行 git push,需提示用户手动推送并验证证明是否成功创建。具体仓库、标签与凭据需按实际工作流内容判断,资料未提供更多平台或收费信息。