4343 !~/.espressif/dist/
4444 ~/.cache/pip/
4545 ~/micropython/
46+ ~/esp32-camera/
47+ ~/esp_new_jpeg/
4648 key : mpy-${{ env.MPY_RELEASE }}
4749 restore-keys : mpy-
4850
@@ -64,15 +66,21 @@ jobs:
6466 git -C esp-idf submodule update --init --recursive --filter=tree:0
6567 cd esp-idf
6668 ./install.sh all
67- cd components
68- # latest_cam_driver=$(curl -s https://api.github.com/repos/espressif/esp32-camera/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
69- # git clone --depth 1 --branch $latest_cam_driver https://github.com/espressif/esp32-camera.git
70- git clone https://github.com/cnadler86/esp32-camera.git
71- cd ~/esp-idf/
7269 source ./export.sh
70+
71+ # Clone external components (if not cached)
72+ - name : Clone external components
73+ if : steps.cache_esp_idf.outputs.cache-hit != 'true'
74+ run : |
7375 cd ~
76+ # Clone camera driver
77+ git clone https://github.com/cnadler86/esp32-camera.git
78+ echo "ESP32_CAMERA_DIR=~/esp32-camera" >> $GITHUB_ENV
79+ # Clone esp_new_jpeg
7480 git clone https://github.com/espressif/esp-adf-libs.git
75- cp -r ~/esp-adf-libs/esp_new_jpeg ~/esp-idf/components/
81+ mv ~/esp-adf-libs/esp_new_jpeg ~/esp_new_jpeg
82+ rm -rf ~/esp-adf-libs
83+ echo "ESP_JPEG_DIR=~/esp_new_jpeg" >> $GITHUB_ENV
7684
7785 # Clone the latest MicroPython release (if not cached)
7886 - name : Clone MicroPython latest release
@@ -141,6 +149,8 @@ jobs:
141149 !~/.espressif/dist/
142150 ~/.cache/pip/
143151 ~/micropython/
152+ ~/esp32-camera/
153+ ~/esp_new_jpeg/
144154 key : mpy-${{ env.MPY_RELEASE }}
145155 restore-keys : mpy-
146156
@@ -158,7 +168,12 @@ jobs:
158168 cd ${{ github.workspace }}
159169 cd ..
160170 git clone https://github.com/cnadler86/mp_jpeg.git
161- cd ~/esp-idf/components/esp32-camera
171+ # Set environment variables for component directories
172+ echo "ESP32_CAMERA_DIR=~/esp32-camera" >> $GITHUB_ENV
173+ echo "ESP_JPEG_DIR=~/esp_new_jpeg" >> $GITHUB_ENV
174+ export ESP32_CAMERA_DIR=~/esp32-camera
175+ export ESP_JPEG_DIR=~/esp_new_jpeg
176+ cd ~/esp32-camera
162177 CAM_DRIVER=$(git describe --tags --always --dirty)
163178 cd ~/micropython/ports/esp32
164179 source ~/esp-idf/export.sh
0 commit comments