Skip to content

fhevm

该项目为 fhevm 仓库提供 GitHub Actions 的 CI/CD 工作流,用于构建和发布 Docker 镜像,主要功能包括:

  1. 按需构建镜像:仅在相关文件发生变化时才触发构建,避免无意义的重复构建。
  2. 镜像重打标签:若文件未变化,则对已有镜像打新标签,确保每次 main 分支提交都有对应镜像标签。
  3. 确定性构建取消:当多个 PR 快速合并到 main 时,仅保留最新提交的构建任务,避免旧任务干扰。
  • is-latest-commit.yml:判断当前提交是否为分支上的最新提交,用于决定是否执行构建。
  • check-changes-for-docker-build.yml:检测自上次构建以来是否有文件变化,决定是否需要重新构建。
  • re-tag-docker-image.yml:在无需重新构建时,为已有镜像打新标签。
  • common-docker.yml:通用的镜像构建工作流模板。
  1. 单镜像模式:适用于构建单个镜像的服务,决策逻辑直接写在 if 条件中。
  2. 多镜像模式:适用于构建多个镜像的服务,使用中央决策任务统一控制各服务的构建/重标签/跳过操作。
  • 高效资源利用:通过文件变化检测和镜像重标签减少不必要的构建。
  • 避免任务冲突:通过并发组和最新提交检查,确保只有最新提交的任务执行。
  • 模块化设计:各功能通过独立工作流实现,便于复用和维护。

支持 pushreleaseworkflow_dispatch 事件触发构建。