Skip to content

Commit

Permalink
Set up Node, Python, and Ruby environment in Jenkins slave. Made othe…
Browse files Browse the repository at this point in the history
…r minor changes to make those work
  • Loading branch information
murgatroid99 committed Jun 4, 2015
1 parent c9ba336 commit 16d3636
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 2 deletions.
36 changes: 36 additions & 0 deletions tools/jenkins/grpc_jenkins_slave/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,41 @@ ENV NUGET mono /var/local/NuGet.exe

# TODO(jtattermusch): add dependencies for other languages

##################
# Node dependencies

# Install nvm
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
RUN /bin/bash -l -c "nvm install 0.12"

##################
# Ruby dependencies

# Install rvm
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
RUN \curl -sSL https://get.rvm.io | bash -s stable

# Install Ruby 2.1
RUN /bin/bash -l -c "rvm install ruby-2.1"
RUN /bin/bash -l -c "rvm use --default ruby-2.1"
RUN /bin/bash -l -c "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
RUN /bin/bash -l -c "echo 'export PATH=/usr/local/rvm/bin:$PATH' >> ~/.bashrc"
RUN /bin/bash -l -c "echo 'rvm --default use ruby-2.1' >> ~/.bashrc"
RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc"

##################
# Python dependencies

# Install dependencies

RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-pip \
python-virtualenv

# Install Python packages from PyPI
RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.0.0a2

# Define the default command.
CMD ["bash"]
4 changes: 3 additions & 1 deletion tools/jenkins/run_jenkins.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,11 @@ then
echo "building $language on Linux"

# Run tests inside docker
docker run grpc/grpc_jenkins_slave bash -c "git clone --recursive $GIT_URL /var/local/git/grpc \
docker run grpc/grpc_jenkins_slave bash -c -l "git clone --recursive $GIT_URL /var/local/git/grpc \
&& cd /var/local/git/grpc && git checkout -f $GIT_COMMIT \
&& git submodule update \
&& nvm use 0.12 \
&& rvm use ruby-2.1 \
&& tools/run_tests/run_tests.py -t -l $language"
elif [ "$platform" == "windows" ]
then
Expand Down
2 changes: 1 addition & 1 deletion tools/run_tests/build_node.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ export LDFLAGS=-L`pwd`/libs/$CONFIG

cd src/node

npm install
npm install --unsafe-perm

0 comments on commit 16d3636

Please sign in to comment.