diff --git a/.gitignore b/.gitignore index f73247cad87..0d2ecca610d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /cmd/formatter/debug.test /.cli-config.yml /wiki +/bin/arduino-cli diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000000..c75610affaf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM golang:1.11.3-stretch +COPY . /go/src/arduino-cli +WORKDIR /go/src/arduino-cli +RUN go get . +RUN CGO_ENABLED=0 GOOS=linux go install -a -ldflags '-s -w -extldflags "-static"' . + +FROM frolvlad/alpine-glibc +RUN apk add ca-certificates python +WORKDIR /root +COPY --from=0 /go/bin/arduino-cli /usr/bin/arduino-cli +ENV USER root +COPY dot-cli-config.yml /usr/bin/.cli-config.yml +RUN arduino-cli core update-index --debug +RUN arduino-cli core install esp8266:esp8266 +RUN arduino-cli board listall +RUN arduino-cli sketch new blink --debug +COPY blink.ino /root/Arduino/blink/blink.ino +RUN arduino-cli compile --fqbn esp8266:esp8266:nodemcuv2 Arduino/blink diff --git a/bin/.gitkeepme b/bin/.gitkeepme new file mode 100644 index 00000000000..e69de29bb2d diff --git a/blink.ino b/blink.ino new file mode 100644 index 00000000000..fab5a8d45c9 --- /dev/null +++ b/blink.ino @@ -0,0 +1,10 @@ +void setup() { + pinMode(LED_BUILTIN, OUTPUT); +} + +void loop() { + digitalWrite(LED_BUILTIN, HIGH); + delay(1000); + digitalWrite(LED_BUILTIN, LOW); + delay(1000); +} diff --git a/build.sh b/build.sh new file mode 100755 index 00000000000..71b8cb7f308 --- /dev/null +++ b/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e + +banner() { +echo "================================================================" +echo "$1" +echo "================================================================" +} + +PROJECT="arduino-cli" + +banner "Building docker image..." +docker build -t $PROJECT . +banner "Copying the binary..." +docker run -v ${PWD}/bin:/out:rw $PROJECT diff --git a/dot-cli-config.yml b/dot-cli-config.yml new file mode 100644 index 00000000000..0cdb19010dd --- /dev/null +++ b/dot-cli-config.yml @@ -0,0 +1,3 @@ +board_manager: + additional_urls: + - http://arduino.esp8266.com/stable/package_esp8266com_index.json