├── README.md ├── debian ├── iojs-stable │ └── Dockerfile ├── iojs-testing │ └── Dockerfile ├── libuv-stable │ └── Dockerfile └── libuv-testing │ └── Dockerfile └── ubuntu ├── iojs-lucid └── Dockerfile ├── iojs-precise └── Dockerfile ├── iojs-trusty └── Dockerfile ├── libuv-lucid └── Dockerfile ├── libuv-precise └── Dockerfile └── libuv-trusty └── Dockerfile /README.md: -------------------------------------------------------------------------------- 1 | [![badge](http://dockeri.co/image/iojs/build)](https://registry.hub.docker.com/u/iojs/build/) 2 | 3 | [![issues](https://img.shields.io/github/issues/iojs/build-containers.svg)](https://github.com/iojs/build-containers/issues) 4 | 5 | iojs/build 6 | === 7 | 8 | These images are used to verify pull requests against [https://github.com/iojs/io.js](https://github.com/iojs/io.js) 9 | 10 | For more information, please refer to: [https://github.com/iojs/build](https://github.com/iojs/build) 11 | 12 | ## How to use 13 | 14 | ### Quick 15 | 16 | docker run -itv /local/path/to/iojs:/opt/iojs --rm iojs/build:iojs-ubuntu-trusty 17 | 18 | This will download already built images from [iojs's Docker hub repo](https://registry.hub.docker.com/u/iojs/build/) and build io.js from the source set on the `-v` option. 19 | 20 | If you want to build `libuv` use this command: 21 | 22 | docker run -itv /local/path/to/libuv:/opt/libuv --rm iojs/build:libuv-ubuntu-trusty 23 | 24 | The `ubuntu-trusty` at the end can be changed by any of the following for either `libuv` and `iojs`: 25 | 26 | - `ubuntu-lucid` 27 | - `ubuntu-precise` 28 | - `ubuntu-trusty` 29 | - `debian-stable` 30 | - `debian-testing` 31 | 32 | ### Building your own images 33 | 34 | If you want to build `iojs` on a debian testing container then from the root of this repo run: 35 | 36 | docker build -t iojs-debian-testing debian/iojs-testing 37 | 38 | This will create an image called `iojs-debian-testing` and you can run it doing: 39 | 40 | docker run -itv /path/to/your/iojs/source:/opt/iojs --rm iojs-debian-testing 41 | 42 | For reference, the Jenkins build server for io.js runs the following command: 43 | 44 | docker run -a stdout -a stderr -t --rm -v `pwd`:/opt/iojs/ iojs/build:iojs-${DISTRO} 45 | -------------------------------------------------------------------------------- /debian/iojs-stable/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:stable 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | apt-transport-https curl && \ 8 | echo 'deb https://deb.nodesource.com/weezy-gcc49 weezy-gcc49 main' >> /etc/apt/sources.list && \ 9 | curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ 10 | rm -rf /var/lib/apt/lists/* 11 | 12 | RUN apt-get update && \ 13 | apt-get install -y --force-yes \ 14 | g++-4.9 gcc-4.9 cpp-4.9 \ 15 | make python-all && \ 16 | ln -sf /usr/bin/gcc-4.9 /usr/bin/gcc && \ 17 | ln -sf /usr/bin/gcc-4.9 /usr/bin/cc && \ 18 | ln -sf /usr/bin/g++-4.9 /usr/bin/g++ && \ 19 | rm -rf /var/lib/apt/lists/* 20 | 21 | RUN useradd iojs && \ 22 | passwd -d iojs 23 | 24 | VOLUME [ "/opt/iojs/" ] 25 | 26 | CMD mkdir /build && \ 27 | cp -a /opt/iojs /build/iojs && \ 28 | chown -R iojs /build/iojs && \ 29 | su iojs -c 'cd /build/iojs && \ 30 | make clean && \ 31 | ./configure && \ 32 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 33 | make test-simple' 34 | -------------------------------------------------------------------------------- /debian/iojs-testing/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:testing 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | python-all \ 9 | curl && \ 10 | rm -rf /var/lib/apt/lists/* 11 | 12 | RUN useradd iojs && \ 13 | passwd -d iojs 14 | 15 | VOLUME [ "/opt/iojs/" ] 16 | 17 | CMD mkdir /build && \ 18 | cp -a /opt/iojs /build/iojs && \ 19 | chown -R iojs /build/iojs && \ 20 | su iojs -c 'cd /build/iojs && \ 21 | make clean && \ 22 | ./configure && \ 23 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 24 | make test-simple' 25 | -------------------------------------------------------------------------------- /debian/libuv-stable/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:stable 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | automake \ 9 | libtool \ 10 | python-all \ 11 | curl && \ 12 | rm -rf /var/lib/apt/lists/* 13 | 14 | RUN useradd iojs && \ 15 | passwd -d iojs 16 | 17 | VOLUME [ "/opt/libuv/" ] 18 | 19 | CMD mkdir /build && \ 20 | cp -a /opt/libuv /build/libuv && \ 21 | chown -R iojs /build/libuv && \ 22 | su iojs -c 'cd /build/libuv && \ 23 | sh autogen.sh && \ 24 | ./configure && \ 25 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 26 | make check' 27 | -------------------------------------------------------------------------------- /debian/libuv-testing/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:testing 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | automake \ 9 | libtool \ 10 | python-all \ 11 | curl && \ 12 | rm -rf /var/lib/apt/lists/* 13 | 14 | RUN useradd iojs && \ 15 | passwd -d iojs 16 | 17 | VOLUME [ "/opt/libuv/" ] 18 | 19 | CMD mkdir /build && \ 20 | cp -a /opt/libuv /build/libuv && \ 21 | chown -R iojs /build/libuv && \ 22 | su iojs -c 'cd /build/libuv && \ 23 | sh autogen.sh && \ 24 | ./configure && \ 25 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 26 | make check' 27 | -------------------------------------------------------------------------------- /ubuntu/iojs-lucid/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:lucid 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | python-all \ 9 | curl \ 10 | python-software-properties && \ 11 | add-apt-repository ppa:ubuntu-toolchain-r/test && \ 12 | apt-get update && \ 13 | apt-get install -y --force-yes \ 14 | gcc-4.8 \ 15 | g++-4.8 && \ 16 | update-alternatives --install \ 17 | /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 && \ 18 | update-alternatives --install \ 19 | /usr/bin/g++ g++ /usr/bin/g++-4.8 50 && \ 20 | rm -rf /var/lib/apt/lists/* 21 | 22 | RUN adduser iojs --disabled-password --gecos 'io.js' 23 | 24 | VOLUME [ "/opt/iojs/" ] 25 | 26 | CMD mkdir /build && \ 27 | cp -a /opt/iojs /build/iojs && \ 28 | chown -R iojs /build/iojs && \ 29 | su iojs -c 'cd /build/iojs && \ 30 | make clean && \ 31 | ./configure && \ 32 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 33 | make test-simple' 34 | -------------------------------------------------------------------------------- /ubuntu/iojs-precise/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:precise 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | python-all \ 9 | curl \ 10 | python-software-properties && \ 11 | add-apt-repository -y ppa:ubuntu-toolchain-r/test && \ 12 | apt-get update && \ 13 | apt-get -y --force-yes \ 14 | install \ 15 | gcc-4.8 \ 16 | g++-4.8 && \ 17 | update-alternatives --install \ 18 | /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 && \ 19 | update-alternatives --install \ 20 | /usr/bin/g++ g++ /usr/bin/g++-4.8 50 && \ 21 | rm -rf /var/lib/apt/lists/* 22 | 23 | RUN adduser iojs --disabled-password --gecos 'io.js' 24 | 25 | VOLUME [ "/opt/iojs/" ] 26 | 27 | CMD mkdir /build && \ 28 | cp -a /opt/iojs /build/iojs && \ 29 | chown -R iojs /build/iojs && \ 30 | su iojs -c 'cd /build/iojs && \ 31 | make clean && \ 32 | ./configure && \ 33 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 34 | make test-simple' 35 | -------------------------------------------------------------------------------- /ubuntu/iojs-trusty/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:trusty 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | python-all \ 9 | curl && \ 10 | rm -rf /var/lib/apt/lists/* 11 | 12 | RUN adduser iojs --disabled-password --gecos 'io.js' 13 | 14 | VOLUME [ "/opt/iojs/" ] 15 | 16 | CMD mkdir /build && \ 17 | cp -a /opt/iojs /build/iojs && \ 18 | chown -R iojs /build/iojs && \ 19 | su iojs -c 'cd /build/iojs && \ 20 | make clean && \ 21 | ./configure && \ 22 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 23 | make test-simple' 24 | -------------------------------------------------------------------------------- /ubuntu/libuv-lucid/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:lucid 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | automake \ 9 | libtool \ 10 | python-all \ 11 | curl && \ 12 | rm -rf /var/lib/apt/lists/* 13 | 14 | RUN adduser iojs --disabled-password --gecos 'io.js' 15 | 16 | VOLUME [ "/opt/libuv/" ] 17 | 18 | CMD mkdir /build && \ 19 | cp -a /opt/libuv /build/libuv && \ 20 | chown -R iojs /build/libuv && \ 21 | su iojs -c 'cd /build/libuv && \ 22 | sh autogen.sh && \ 23 | ./configure && \ 24 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 25 | make check' 26 | -------------------------------------------------------------------------------- /ubuntu/libuv-precise/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:precise 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | automake \ 9 | libtool \ 10 | python-all \ 11 | curl && \ 12 | rm -rf /var/lib/apt/lists/* 13 | 14 | RUN adduser iojs --disabled-password --gecos 'io.js' 15 | 16 | VOLUME [ "/opt/libuv/" ] 17 | 18 | CMD mkdir /build && \ 19 | cp -a /opt/libuv /build/libuv && \ 20 | chown -R iojs /build/libuv && \ 21 | su iojs -c 'cd /build/libuv && \ 22 | sh autogen.sh && \ 23 | ./configure && \ 24 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 25 | make check' 26 | -------------------------------------------------------------------------------- /ubuntu/libuv-trusty/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:trusty 2 | ENV LC_ALL C 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | RUN apt-get update && \ 6 | apt-get install -y --force-yes \ 7 | build-essential \ 8 | automake \ 9 | libtool \ 10 | python-all \ 11 | curl && \ 12 | rm -rf /var/lib/apt/lists/* 13 | 14 | RUN adduser iojs --disabled-password --gecos 'io.js' 15 | 16 | VOLUME [ "/opt/libuv/" ] 17 | 18 | CMD mkdir /build && \ 19 | cp -a /opt/libuv /build/libuv && \ 20 | chown -R iojs /build/libuv && \ 21 | su iojs -c 'cd /build/libuv && \ 22 | sh autogen.sh && \ 23 | ./configure && \ 24 | make -j$(expr $(expr $(nproc) + 1) / 2) && \ 25 | make check' 26 | --------------------------------------------------------------------------------