A server, VM and command line tool to pre-compile binaries for Tessel 2
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
out
.gitignore
.travis.yml
Dockerfile
LICENSE
README.md
Vagrantfile
compile-docker.sh
compile-vagrant.sh
compile.sh
test-output-url.js
upload-files.js

README.md

t2-compiler

Code of Conduct Travis Build Status

The server component can be found at t2-auto-compiler

Publishing

Is done automatically from master at with docker hub.

Building Packages

Use vagrant or docker

Vagrant

Install vagrant

vagrant up
./compile-vagrant.sh serialport@6

Look in the 'out' directory

Docker

If you want to use docker you can run;

# puts the output in the `./out` directory (adds new files)
./compile-docker.sh serialport@6

To update to the latest t2-compiler from docker hub.

docker pull tessel/t2-compiler

To output the build on the last line of docker output in JSON containing BASE64 encoded strings

docker run --rm tessel/t2-compiler $1 6.5.0 release JSON
# build output followed by file contents
# {"serialport-6.0.3-Release-node-v46-linux-mipsel.tgz":"H4s....."}

Developing the compiler

To build your local Dockerfile

# build the local directory and name it
docker build ./ -t t2-compiler:dev

# verify the localally built images
docker images
# REPOSITORY           TAG                 IMAGE ID            CREATED              SIZE
# t2-compiler:dev      latest              75f126974601        About a minute ago   1.281 GB

# Run the local image you've built
docker run --rm -v `pwd`/out:/out t2-compiler:dev serialport 6.5.0 release /out
# or
docker run --rm t2-compiler:dev serialport 6.5.0 release JSON

To get an interactive shell run

# from docker hub
docker run -it --rm --entrypoint bash tessel/t2-compiler
# from local dev image
docker run -it --rm --entrypoint bash t2-compiler:dev

Master is automatically built and pushed by the docker-hub service with our tessel account. It's the equivalent of;

docker build -t tessel/t2-compiler ./
docker push tessel/t2-compiler