Github-Actions

Frage an die GitHub-Spezialisten (@laszloh z. B.): Wie kriegen wir die aktuellen Build-Probleme wieder gelöst? Ich hab’s gestern ein bisschen probiert, war jedoch nicht erfolgreich. Dass der Clang-Check anschlägt liegt daran, dass im Revisions-File eine Leerzeile am Ende fehlt, aber mir geht’s um die Probleme beim Build. Da kommt immer ein Fehler, dass python nicht gefunden werden kann.

Fragt sich was kaputt ist…

Vlt mal eine ältere Python Version anfordern oder eine ältere espressif Platfrom?

Oder es wird für den Build die neuere Espressif Platform 3.0 erwartet?
Wir sind ja noch auf 2.0.17

1 „Gefällt mir“

Für Arduino 3.0 gibt es nichts offizielles, aber das könnte was sein:

platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.05/platform-espressif32.zip  ;Arduino 3.0.5/IDF 5.1.4

framework = arduino, espidf
board_build.embed_txtfiles =
    managed_components/espressif__esp_insights/server_certs/https_server.crt
    managed_components/espressif__esp_rainmaker/server_certs/rmaker_mqtt_server.crt
    managed_components/espressif__esp_rainmaker/server_certs/rmaker_claim_service_server.crt
    managed_components/espressif__esp_rainmaker/server_certs/rmaker_ota_server.crt
2 „Gefällt mir“

@wolle, Danke für den Hinweis! Beim Test mit Arduino 3 komme ich wesentlich weiter, der Toolchain wird geladen & Dateien compilieren: Hier mein GH-Actions Ergebnis:

Das läuft jetzt auch nicht komplett durch aber der automatisierte Build für Arduino 2 scheint definitiv kaputt zu sein…

Vermutlich ist das ein Wert, der verändert werden muss. Bei mir funktioniert es mit diesen sdkconfig
sdkconfig.esp32s3.txt (71,6 KB)
sdkconfig.esp32.txt (71,7 KB)

Hab’s jetzt geschafft mit dem Arduino 3 Framework zu compilieren & die automatische Buildprüfung ist auf allen Plattformen erfolgreich:

3 „Gefällt mir“

Was hast jetzt noch angepasst?

Es fehlen nur Kleinigkeiten zur erfolgreichen Compilierung mit Arduino 3:

Das ist mein Arduino 3 Fork:

Die Frage ist ob man die automatische Buildprüfung noch für Arduino2 repariert bekommt oder evt. im DEV schon mal 2/3 umschaltbar macht?

1 „Gefällt mir“

Ob das was ändert weiß ich nicht, aber offenbar gibt’s eine neue Version:

Vielleicht mal für alle, denen nicht klar ist, was es hier mit Arduino2, Arduino3 und fehlendem Support auf sich hat…
Hersteller der ESP32-Mikrocontroller ist die chin. Firma Espressif und deren natives Framework ist IDF. Da Arduino jedoch sehr populär ist und sie (nehme ich an) ihre Reichweite erhöhen woll(t)en, haben sie ein Arduino-Framework drum herum gebaut. Das IDF wird stetig weiterentwickelt und Verbesserungen / Bugfixes fließen in deren Arduino-Framework ein. Alle x IDF-Releases (weiß nicht, ob es dan ein Muster gibt) hebt man dann auch die major-Version von Arduino. Und so haben wir ESPuino mit Arduino1 gestartet und haben, ich glaube letztes Jahr, final auf Arduino2 gewechselt. Da hat sich enorm viel getan zu Arduino1. Inzwischen sind wir eigentlich bei Arduino3 angekommen, jedoch…

Auf der anderen Seite haben wir das Projekt Platformio, welches als VSC-Plugin erheblichen Komfort zur Entwicklung von IDF und Arduino (und viele andere bringt). Wenn ich das richtig verstanden habe (man korrigiere mich gerne, wenn ich Kacke erzähle), dann ist man der Meinung, dass man für Espressif erheblichen Mehrwert bietet (was ganz sicher auch so ist) und man daher (finanzielle) Unterstützung möchte. Und da kann man sich aber wohl nicht einigen. Und das führt jetzt dazu, dass es offiziel kein Arduino3 für Platformio gibt, da das Platformio-Projekt das nicht mehr leisten möchte. Es gibt seit einer Weile jedoch einen Fork, der das übernehmen soll: GitHub - pioarduino/platform-espressif32: Espressif 32: pioarduino community platform for PlatformIO.

Im Unterschied dazu scheint der Support für die Arduino IDE jedoch weiterhin vorhanden zu sein. Die nutzen wir jedoch nicht; u.a. deswegen, weil man da nicht wirklich von IDE sprechen kann :slight_smile:.

Hinweis: Es gibt streng genommen natürlich nur ein Arduino. Die Versionen, die ich hier genannt habe, beziehen sich lediglich auf die Paketierung/Versionierung, wie Espressif sein IDF auf sein Arduino-Framework projiziert und dort nach eigenem Ermessen major-Releases einführt.

3 „Gefällt mir“

Ok, also 6.9.0 ändert an den Problemen nix.
Eija, zur Not bleiben wir halt einfach bei Arduino3. Dafür ist es ja dev :slight_smile:

@biologist Yepp bin dabei!
Ich werde Arduino 3 mal im DEV einchecken. Auf jeden Fall aber mit einfacher Umschaltmöglichkeit 2<->3, das hat sich in der Vergangenheit bei größeren Baustellen bewährt :wink:

2 „Gefällt mir“

Mal so als Input:
Im AIOTED projekt hatten wir das gleiche problem:

AssertionError: Error: Missing Python executable file `/home/runner/.platformio/penv/.espidf-5.3.0/bin/python`:

Ein Update von PlatformIO auf 6.9.0 hat das nun gelöst.

Wir sind bereits auf PlatformIO 6.9.0, der automatische Build läuft trotzdem nicht durch.
Hängt es evt. am Skript test-builds.yml ? Da kenne ich mich überhaupt nicht aus. Schön wäre wenn der Build sowohl für Arduino 2 als auch 3 durchlaufen würde…

Ich wollte es mir gerade in meinem Fork anschauen.
Zu meinem Erstaunen läuft die Pipeline ohne Fehler durch, obwohl ich nichts geändert hatte!
Siehe Build all boards · caco3/ESPuino@7ba93fa · GitHub
Lasst doch eure Pipeline auch nochmals laufen, vielleicht hat es sich ja von selber repariert (resp, einen Abhängigkeit geht wieder).

Habe die Build-Aktion gerade nochmal angeworfen, der Fehler bleibt.
@CaCO3 Fork ist ja identisch mit dem DEV-Bramch & verwendet auch Arduino 2.0.17. Sehr schräg, ich sehe nicht woran es noch liegen kann, Ihr?

Dann lösche doch mal alle eure Caches.
image
Rechts hat es jeweils ein Delete-Icon.

3 „Gefällt mir“

Ah cool, guter Punkt!
Habe ich gerade mal gemacht und lasse den Build jetzt mal laufen. Wusste nicht, dass man den Cache leeren kann.

Scheint wieder zu laufen. Danke!

1 „Gefällt mir“