Gitlab CI not working

Hi guys!
I’m pretty new o PlatformIO and I love it in combination with VS code. It’s just working fine and I can even upload my firmeware via OTA to my lolin32.

Since I managed to get the OTA working, I now need a working solution for providing the firmware continously and push them on a webserver to distribute them for all my controllers (which are ~10 in my home automation).

So I checked the CI and integrated it in Gitlab, but the build are failing every time I commit some code to it.
The manual builds are just working fine.

My .gitlab-ci.yaml
image: python:2.7

stages:

  • test

before_script:

  • “pip install -U platformio”

- “platformio lib --storage-dir /lib install”

job:
stage: test
script: “platformio ci --lib=. --project-conf platformio.ini”
variables: {PLATFORMIO_CI_SRC: “src/main.cpp”}

My platform.ini
[env:lolin32]
platform = espressif32
board = lolin32
framework = arduino
monitor_baud = 115200
upload_port = 192.168.10.101
lib_deps =
zhouhan0126/WIFIMANAGER-ESP32.git
GitHub - zhouhan0126/WebServer-esp32: WebServer-esp32
GitHub - zhouhan0126/DNSServer---esp32
1134

The CI is always failing because it can’t resolve some “sub” dependencies of libs:
Library Dependency Graph
|-- v1.0
|-- v0.99.9
| |-- v1.1.0
| | |-- v1.0
| |-- v1.0
| |-- v1.0
| | |-- v1.0
|-- v1.1
| |-- v1.0
|--
| |-- v1.0
| |-- v0.99.9
| | |-- v1.1.0
| | | |-- v1.0
| | |-- v1.0
| | |-- v1.0
| | | |-- v1.0
| |-- v1.1
| | |-- v1.0
| |-- v1.18.8
| | |-- v1.18.8
| |-- v1.0
| |-- v1.0
| | |-- v1.0
| | |-- v1.0
|-- v1.18.8
| |-- v1.18.8
|-- v1.0
|-- v1.0
| |-- v1.0
| |-- v1.0
Compiling .pioenvs/lolin32/src/main.o
Generating partitions .pioenvs/lolin32/partitions.bin
In file included from src/main.cpp:3:0:
.piolibdeps/SSD1306_ID1134/SSD1306.h:32:18: fatal error: DSPI.h: No such file or directory
compilation terminated.
*** [.pioenvs/lolin32/src/main.o] Error 1

I really do not know how to resolve this. Can you please help me?

If you have already preconfigured PlatformIO project, you no need to use pio ci command. Use pio run -d /path/to/ptoject instead.

Finally, the problem here that you are going to use PI32 library with Espressif. PlatformIO Registry

See compatible platforms. I don’t know how does it work locally.

1 Like

I will try to switch the libs and then try to run it in a docker container without the ci command.

The strange thing is, it works pretty fine locally.

Thanks for the hint with the false lib. Updated it to the correct library: http://platformio.org/lib/show/562/ESP8266_SSD1306
And now it works!

Thank you!