44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
name: "Espressif IoT Development Framework (ESP-IDF)"
|
|
description: "This action builds your firmware for ESP32 directly in GitHub using Espressif ESP-IDF Docker image."
|
|
branding:
|
|
color: red
|
|
icon: wifi
|
|
inputs:
|
|
path:
|
|
description: "Relative path under $GITHUB_WORKSPACE to place the repository"
|
|
default: ""
|
|
required: false
|
|
esp_idf_version:
|
|
description: "Version of ESP-IDF docker image to use"
|
|
default: "latest"
|
|
required: false
|
|
esp_idf_docker_image:
|
|
description: "Docker Repository to obtain the ESP-IDF image from"
|
|
default: "espressif/idf"
|
|
required: false
|
|
extra_docker_args:
|
|
description: "Additional arguments to pass to the docker run command"
|
|
default: ""
|
|
required: false
|
|
target:
|
|
description: "ESP32 variant to build for"
|
|
default: "esp32"
|
|
required: false
|
|
command:
|
|
description: "Command to run inside the docker container (default: builds the project)"
|
|
default: "idf.py build"
|
|
required: false
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- run: |
|
|
export IDF_TARGET=$(echo "${{ inputs.target }}" | tr '[:upper:]' '[:lower:]' | tr -d '_-')
|
|
docker run -t \
|
|
-e IDF_TARGET="${IDF_TARGET}" \
|
|
-v ${GITHUB_WORKSPACE}:/app/${{ github.repository }} \
|
|
-w /app/${{ github.repository }}/${{ inputs.path }} \
|
|
${{ inputs.extra_docker_args }} \
|
|
${{ inputs.esp_idf_docker_image }}:${{ inputs.esp_idf_version }} \
|
|
/bin/bash -c 'git config --global --add safe.directory "*" && ${{ inputs.command }}'
|
|
shell: bash |