alibaba / higress

Cloud Native API Gateway | 云原生API网关
https://higress.io
Apache License 2.0
2.5k stars 407 forks source link

feat: build go wasm plugin images using github action #1063

Open cr7258 opened 4 days ago

cr7258 commented 4 days ago

Ⅰ. Describe what this PR did

支持通过 GitHub Actions 来构建和发布 Wasm 插件镜像。其中由于编译 Wasm 文件时偶尔会失败,因此添加了 3 次的重试机制。 默认情况下 Github Action 中的 shell 设置了 -e,因此在命令失败时会立即退出,导致无法捕获错误 (issue discussion) 。所以在 shell 开头加上 set +e 覆盖这个默认值,允许捕获错误进行重试。

Ⅱ. Does this pull request fix one issue?

fixes https://github.com/alibaba/higress/issues/1052

Ⅳ. Describe how to verify it

准备工作image-registry-wasm-go-plugin Environment 中设置 secrets 和 variables.

image

1. 通过 push tag 触发,构建所有 Wasm 插件并推送镜像仓库。 github action job

image

2. 手动触发,构建指定的插件。 手动触发需要将默认分支切换到代码的分支才能看到 Run workflow 按钮进行测试。

github action job

image image

错误重试

image
cr7258 commented 3 days ago

https://github.com/alibaba/higress/issues/1052#issuecomment-2192882608 补充 commit, 先在目录下寻找 spec.yaml, README.md, README_EN.md 文件,如果有的话添加到镜像中。https://github.com/alibaba/higress/pull/1063/commits/bb1bcd155e3435138a078388f5a758800b154e41

johnlanni commented 3 days ago

cc @CH3CHO