问题描述
我想在GitHub Actions上为自托管运行程序创建一个基于ESP-IDF的项目的CI流程。
ESP-IDF要求在编译之前导出大量shell变量和其他与shell相关的任务。他们为此提供了一个export.sh
脚本,并期望用户(me)在编译步骤之前source export.sh
。
如何保证某个作业下的所有步骤都在具有ESP-IDF要求的自定义外壳下完成?
我知道我可以在GitHub Actions中使用多行运行命令,但这需要我在每个步骤上source export.sh
,不是吗?这会减慢工作速度。
谢谢
解决方法
您可以使用Espressif本身提供的docker映像。
这是GitHub指南
https://docs.github.com/en/actions/creating-actions/creating-a-docker-container-action
此处是Espressif的docker镜像指南
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-docker-image.html