1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
6 MAINTAINER Ward Vandewege <ward@curoverse.com>
8 RUN perl -ni~ -e 'print unless /jessie-updates/' /etc/apt/sources.list
10 ENV DEBIAN_FRONTEND noninteractive
12 # Install dependencies.
13 RUN /usr/bin/apt-get update && /usr/bin/apt-get install -q -y python2.7-dev python3 python-setuptools python3-setuptools python3-pip libcurl4-gnutls-dev curl git procps libattr1-dev libfuse-dev libgnutls28-dev libpq-dev python-pip unzip python3-venv python3-dev
16 RUN /usr/bin/pip install virtualenv
19 ADD generated/mpapis.asc /tmp/
20 ADD generated/pkuczynski.asc /tmp/
21 RUN gpg --import --no-tty /tmp/mpapis.asc && \
22 gpg --import --no-tty /tmp/pkuczynski.asc && \
23 curl -L https://get.rvm.io | bash -s stable && \
24 /usr/local/rvm/bin/rvm install 2.5 && \
25 /usr/local/rvm/bin/rvm alias create default ruby-2.5 && \
26 /usr/local/rvm/bin/rvm-exec default gem install fpm --version 1.10.2
28 # Install golang binary
29 ADD generated/go1.12.7.linux-amd64.tar.gz /usr/local/
30 RUN ln -s /usr/local/go/bin/go /usr/local/bin/
32 # Install nodejs and npm
33 ADD generated/node-v6.11.2-linux-x64.tar.xz /usr/local/
34 RUN ln -s /usr/local/node-v6.11.2-linux-x64/bin/* /usr/local/bin/
36 RUN git clone --depth 1 git://git.curoverse.com/arvados.git /tmp/arvados && cd /tmp/arvados/services/api && /usr/local/rvm/bin/rvm-exec default bundle && cd /tmp/arvados/apps/workbench && /usr/local/rvm/bin/rvm-exec default bundle
38 # Workbench depends on arvados-server for config manipulation
40 RUN mkdir -p $GOPATH/src/git.curoverse.com && ln -sT /tmp/arvados $GOPATH/src/git.curoverse.com/arvados.git && cd $GOPATH/src/git.curoverse.com/arvados.git/cmd/arvados-server && go get -v github.com/kardianos/govendor && $GOPATH/bin/govendor sync && go get && go build && cp arvados-server /usr/local/bin/ && rm -rf /tmp/arvados
42 ENV WORKSPACE /arvados
43 CMD ["/usr/local/rvm/bin/rvm-exec", "default", "bash", "/jenkins/run-build-packages.sh", "--target", "debian8"]