Skip to content

Commit 73d76bc

Browse files
committed
feat: enhance library installation process with version checks for GFX, JPEGDEC, PubSubClient, and ElegantOTA
1 parent 6ac4b95 commit 73d76bc

1 file changed

Lines changed: 45 additions & 12 deletions

File tree

.github/workflows/arduino-compile.yml

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -130,29 +130,62 @@ jobs:
130130
131131
- name: Install required libraries
132132
run: |
133-
if [ ! -d ~/Arduino/libraries/GFX_Library_for_Arduino ]; then
134-
arduino-cli lib install "GFX Library for Arduino@1.6.0"
133+
# Check and install GFX Library for Arduino 1.6.0
134+
if [ -d ~/Arduino/libraries/GFX_Library_for_Arduino ]; then
135+
INSTALLED_VERSION=$(arduino-cli lib list | grep "GFX Library for Arduino" | awk '{print $2}')
136+
if [ "$INSTALLED_VERSION" = "1.6.0" ]; then
137+
echo "✅ GFX Library for Arduino 1.6.0 already installed (cached)"
138+
else
139+
echo "⚠️ Wrong version ($INSTALLED_VERSION), installing 1.6.0"
140+
arduino-cli lib install "GFX Library for Arduino@1.6.0"
141+
fi
135142
else
136-
echo "✅ GFX Library already installed (cached)"
143+
arduino-cli lib install "GFX Library for Arduino@1.6.0"
137144
fi
138145
139-
if [ ! -d ~/Arduino/libraries/JPEGDEC ]; then
140-
arduino-cli lib install "JPEGDEC@1.8.2"
146+
# Check and install JPEGDEC 1.8.2
147+
if [ -d ~/Arduino/libraries/JPEGDEC ]; then
148+
INSTALLED_VERSION=$(arduino-cli lib list | grep "JPEGDEC" | awk '{print $2}')
149+
if [ "$INSTALLED_VERSION" = "1.8.2" ]; then
150+
echo "✅ JPEGDEC 1.8.2 already installed (cached)"
151+
else
152+
echo "⚠️ Wrong version ($INSTALLED_VERSION), installing 1.8.2"
153+
arduino-cli lib install "JPEGDEC@1.8.2"
154+
fi
141155
else
142-
echo "✅ JPEGDEC already installed (cached)"
156+
arduino-cli lib install "JPEGDEC@1.8.2"
143157
fi
144158
145-
if [ ! -d ~/Arduino/libraries/PubSubClient ]; then
146-
arduino-cli lib install "PubSubClient"
159+
# Check and install PubSubClient 2.8
160+
if [ -d ~/Arduino/libraries/PubSubClient ]; then
161+
INSTALLED_VERSION=$(arduino-cli lib list | grep "PubSubClient" | awk '{print $2}')
162+
if [ "$INSTALLED_VERSION" = "2.8" ] || [ "$INSTALLED_VERSION" = "2.8.0" ]; then
163+
echo "✅ PubSubClient 2.8 already installed (cached)"
164+
else
165+
echo "⚠️ Wrong version ($INSTALLED_VERSION), installing 2.8"
166+
arduino-cli lib install "PubSubClient@2.8"
167+
fi
147168
else
148-
echo "✅ PubSubClient already installed (cached)"
169+
arduino-cli lib install "PubSubClient@2.8"
149170
fi
150171
151-
if [ ! -d ~/Arduino/libraries/ElegantOTA ]; then
152-
arduino-cli lib install "ElegantOTA@3.1.7"
172+
# Check and install ElegantOTA 3.1.7
173+
if [ -d ~/Arduino/libraries/ElegantOTA ]; then
174+
INSTALLED_VERSION=$(arduino-cli lib list | grep "ElegantOTA" | awk '{print $2}')
175+
if [ "$INSTALLED_VERSION" = "3.1.7" ]; then
176+
echo "✅ ElegantOTA 3.1.7 already installed (cached)"
177+
else
178+
echo "⚠️ Wrong version ($INSTALLED_VERSION), installing 3.1.7"
179+
arduino-cli lib install "ElegantOTA@3.1.7"
180+
fi
153181
else
154-
echo "✅ ElegantOTA already installed (cached)"
182+
arduino-cli lib install "ElegantOTA@3.1.7"
155183
fi
184+
185+
# Verify installed versions
186+
echo ""
187+
echo "📦 Final installed library versions:"
188+
arduino-cli lib list | grep -E "GFX Library|JPEGDEC|PubSubClient|ElegantOTA"
156189
157190
- name: Patch GFX Library for ESP32-P4 compatibility
158191
run: |

0 commit comments

Comments
 (0)