具有ESP-IDF编译的GitHub操作

问题描述

我想在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