From 28d568482e0dd30bd686881d0298e109dfb2b848 Mon Sep 17 00:00:00 2001 From: starcalc Date: Tue, 30 Aug 2022 17:50:09 +0200 Subject: [PATCH] First drone test with matrix builds --- .drone.yml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..4695546 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,56 @@ +--- + +kind: pipeline +type: docker +name: default +steps: + - name: fetch ip + image: cburki/mosquitto-clients + commands: + - echo "${HOSTNAME}" + - mosquitto_sub -h raum.ctdo.de -t "homie/${HOSTNAME}/\$localip" -C 1 | tr -d '\n' + - mosquitto_sub -h raum.ctdo.de -t "homie/${HOSTNAME}/\$localip" -C 1 | tr -d '\n' >lastknownip + - cat "lastknownip" + - name: configure + image: alpine + commands: + - sed -i "s/WIFISSID/$IOTSSID/" data/homie/config.json + - sed -i "s/WIFIPASS/$iotpwd/" data/homie/config.json + - sed -i "s/HOSTNAME/${HOSTNAME}/g" data/homie/config.json + - sed -i "s/HOSTNAME/${HOSTNAME}/g" data/homie/config.json + - lastknownip=$(cat lastknownip) + - sed -i "s/HOSTNAME/$lastknownip/g" platformio.ini + environment: + IOTSSID: + from_secret: iotssid + iotpwd: + from_secret: iotpwd + - name: build + image: suculent/platformio-docker-build + commands: + # - pip install -U platformio + # Build image + - platformio run --environment d1_mini + # Build file system image + - platformio run --target buildfs --environment d1_mini + - name: upload + image: curlimages/curl + commands: + - lastknownip=$(cat lastknownip) + - echo "$lastknownip" + # Upload image with espota-gateway + - | + curl --insecure --no-progress-meter --fail-with-body --request POST --url "https://espota.ctdo.de/" --header "Content-Type: multipart/form-data" --form ip="$lastknownip" --form firmware=@.pio/build/d1_mini/firmware.bin --no-buffer + # TODO: Upload file system image with espota-gateway, if the device is available again (or leave it to espota-gateway to retry often enough) + - | + curl --insecure --no-progress-meter --fail-with-body --request POST --url "https://espota.ctdo.de/" --header "Content-Type: multipart/form-data" --form ip="$lastknownip" --form spiffs=@.pio/build/d1_mini/spiffs.bin --no-buffer + +### matrix-builds? - for multiple volumeknobs? +### https://0-8-0.docs.drone.io/matrix-builds/ +### + + +matrix: + HOSTNAME: + - blinky1 + - blinky2