Skip to content

Implement an action for installation of ESP-IDF to the application environment (RDT-1087) #1

@kumekay

Description

@kumekay

Checklist

  • Checked the issue tracker for similar issues to ensure this is not a duplicate.
  • Described the feature in detail and justified the reason for the request.
  • Provided specific use cases and examples.

Feature description

A GitHub Action to automate the installation of the ESP-IDF framework on GitHub-hosted runners. The action should support multiple operating systems (Windows, macOS, and Linux) and allow users to customize the ESP-IDF version and installation paths.

Requirements

The GitHub Action should meet the following requirements:

  1. Compatibility
    The action must modify the GitHub-hosted runner on which it is executed. It should be compatible with all standard runners available for managed GitHub Actions, as described in the official documentation:
    GitHub-hosted runners.

  2. Installation Tool
    The action should use the idf-im-cli tool for installing ESP-IDF.


Inputs

The action should accept the following optional inputs:

Input Name Description Default Value
esp_idf_version Specifies the version of ESP-IDF to install. If unspecified, the latest released version will be installed. Latest released version
esp_idf_path Specifies the installation path for ESP-IDF. /opt/esp/idf on POSIX systems, C:\esp\idf on Windows
esp_idf_tools_path Specifies the path for ESP-IDF tools. /opt/esp on POSIX systems

This Dockerfile can be used as a general reference for the steps required to install ESP-IDF:
Dockerfile: eim-idf-build-docker

Use cases

Espressif already provides the action which allows building ESP-IDF projects and running other ESP-IDF commands in a docker container on Linux. For most of the simple use cases, it's sufficient.

However, some more sophisticated components and projects may contain logic in their build scripts which need to be tested to run on all majors operating systems: macOS, Linux and Windows. In this case, it's necessary to install ESP-IDF directly to the runner, but because of system requirements it can be nontrivial.

Alternatives

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions