Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion tools/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ FROM tinygohci-base AS tinygohci-build
ENV TINYGO_RELEASE=0.39.0
ARG TINYGO_DOWNLOAD_SHA=1234

ADD tools/docker/versions/${TINYGO_DOWNLOAD_SHA}.tar.gz /usr/local
COPY tools/docker/versions/${TINYGO_DOWNLOAD_SHA}.deb /tmp/tinygo.deb
RUN dpkg -i /tmp/tinygo.deb && rm /tmp/tinygo.deb
ENV PATH=${PATH}:/usr/local/tinygo/bin

RUN apt-get remove -y wget && \
Expand Down
30 changes: 3 additions & 27 deletions tools/server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"log"
"os"
"os/exec"
"path/filepath"
"strconv"
"time"

Expand Down Expand Up @@ -276,38 +275,15 @@ func buildDocker(sha string) error {
// with this SHA.
func downloadBinary(url, sha string) error {
// check if the file is already downloaded for this sha
if !fileExists("tools/docker/versions/" + sha + ".tar.gz") {
dest := "tools/docker/versions/" + sha + ".deb"
if !fileExists(dest) {
log.Println("Downloading binary for", sha)

resp, err := grab.Get("tinygo-latest.zip", url)
resp, err := grab.Get(dest, url)
if err != nil {
return err
}
log.Println("downloaded bytes:", resp.BytesComplete())
// unzip
log.Println("unzipping")
out, err := exec.Command("unzip", "tinygo-latest.zip",
"tinygo*.linux-amd64.tar.gz").CombinedOutput()
if err != nil {
return err
}
log.Println(string(out))

// move file
log.Println("moving file")
f, err := filepath.Glob("tinygo*.linux-amd64.tar.gz")
if err != nil {
return err
}
err = os.Rename(f[0], "tools/docker/versions/"+sha+".tar.gz")
if err != nil {
return err
}

err = os.Remove("tinygo-latest.zip")
if err != nil {
return err
}
}
return nil
}
Expand Down