ci: use espressif/idf:v5.5 container image to eliminate cache timeout
Some checks failed
ESP32 Build & Release / build (push) Failing after 4s

This commit is contained in:
2026-09-12 15:21:42 +02:00
parent 3471de2ca3
commit d7a108463d

View File

@@ -8,6 +8,8 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container:
image: espressif/idf:v5.5
steps:
# ------------------------------------------------------------
@@ -16,97 +18,21 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
# ------------------------------------------------------------
# System dependencies
# ------------------------------------------------------------
- name: Install system dependencies
- name: Configure Git Safe Directory
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y \
git \
wget \
flex \
bison \
gperf \
python3 \
python3-pip \
python3-venv \
cmake \
ninja-build \
ccache \
libffi-dev \
libssl-dev \
dfu-util
git config --global --add safe.directory "$GITHUB_WORKSPACE" || true
# ------------------------------------------------------------
# Cache ESP-IDF and Espressif tools
# ------------------------------------------------------------
- name: Cache ESP-IDF
uses: actions/cache@v4
with:
path: |
~/esp/esp-idf
~/.espressif
key: esp-idf-5.5-esp32-${{ runner.os }}
restore-keys: |
esp-idf-5.5-esp32-
# ------------------------------------------------------------
# Install ESP-IDF 5.5
# ------------------------------------------------------------
- name: Install ESP-IDF 5.5
shell: bash
run: |
mkdir -p "$HOME/esp"
if [ ! -f "$HOME/esp/esp-idf/export.sh" ]; then
echo "ESP-IDF not found in cache."
echo "Cloning ESP-IDF 5.5..."
git clone --recursive \
--branch v5.5 \
https://github.com/espressif/esp-idf.git \
"$HOME/esp/esp-idf"
cd "$HOME/esp/esp-idf"
./install.sh esp32
else
echo "Using cached ESP-IDF."
fi
# ------------------------------------------------------------
# Verify ESP-IDF
# ------------------------------------------------------------
- name: Verify ESP-IDF
shell: bash
run: |
source "$HOME/esp/esp-idf/export.sh"
echo "ESP-IDF:"
idf.py --version
# ------------------------------------------------------------
# Build firmware
# Build firmware & merged binary
# ------------------------------------------------------------
- name: Build firmware
shell: bash
run: |
source "$HOME/esp/esp-idf/export.sh"
. /opt/esp/idf/export.sh
idf.py --version
idf.py set-target esp32
idf.py build
# ------------------------------------------------------------
# Create merged firmware image
# ------------------------------------------------------------
- name: Create merged firmware
shell: bash
run: |
source "$HOME/esp/esp-idf/export.sh"
idf.py merge-bin
# ------------------------------------------------------------