name: Setup ESP-IDF Toolchain inputs: toolchain: description: 'Toolchain name' required: true toolchain_version: description: 'Toolchain version' required: false default: 'v5.5.3' runs: using: "composite" steps: - name: Set DOCKER_ESP_IDF env: TOOLCHAIN: ${{ inputs.toolchain }} run: | DOCKER_ESP_IDF=$HOME/cache/${TOOLCHAIN}/docker_image.tar echo "DOCKER_ESP_IDF=$DOCKER_ESP_IDF" >> $GITHUB_ENV shell: bash - name: Cache Docker Image uses: actions/cache@v5 id: cache-toolchain-espressif with: path: ${{ env.DOCKER_ESP_IDF }} key: ${{ inputs.toolchain }}-${{ inputs.toolchain_version }} - name: Pull and Save Docker Image if: steps.cache-toolchain-espressif.outputs.cache-hit != 'true' env: TOOLCHAIN_VERSION: ${{ inputs.toolchain_version }} run: | docker pull espressif/idf:${TOOLCHAIN_VERSION} mkdir -p $(dirname $DOCKER_ESP_IDF) docker save -o $DOCKER_ESP_IDF espressif/idf:${TOOLCHAIN_VERSION} du -sh $DOCKER_ESP_IDF shell: bash - name: Load Docker Image if: steps.cache-toolchain-espressif.outputs.cache-hit == 'true' run: | du -sh $DOCKER_ESP_IDF docker load --input $DOCKER_ESP_IDF shell: bash - name: Tag Local Image env: TOOLCHAIN_VERSION: ${{ inputs.toolchain_version }} run: | docker tag espressif/idf:${TOOLCHAIN_VERSION} espressif/idf:tinyusb docker images shell: bash