Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
ffc81180
Commit
ffc81180
authored
Feb 22, 2016
by
Josh Haberman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added Ruby 2.1, Oracle Java, and C#.
parent
78f9b686
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
76 additions
and
21 deletions
+76
-21
Dockerfile
tools/docker/Dockerfile
+45
-2
jenkins.sh
tools/run_tests/jenkins.sh
+8
-2
tests.sh
tools/run_tests/tests.sh
+23
-17
No files found.
tools/docker/Dockerfile
View file @
ffc81180
...
...
@@ -30,9 +30,19 @@
# Base Dockerfile for gRPC dev images
FROM
debian:latest
# Apt source for old Python versions.
RUN
echo
'deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main'
>
/etc/apt/sources.list.d/deadsnakes.list
&&
\
gpg
--keyserver
keyserver.ubuntu.com
--recv-keys
DB82666C
&&
\
gpg
--export
DB82666C | apt-key add -
apt-key adv
--keyserver
keyserver.ubuntu.com
--recv-keys
DB82666C
# Apt source for Oracle Java.
run
echo
'deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main'
>
/etc/apt/sources.list.d/webupd8team-java-trusty.list
&&
\
apt-key adv
--keyserver
keyserver.ubuntu.com
--recv-keys
EEA14886
&&
\
echo
"oracle-java7-installer shared/accepted-oracle-license-v1-1 select true"
| debconf-set-selections
# Apt source for Mono
run
echo
"deb http://download.mono-project.com/repo/debian wheezy main"
|
tee
/etc/apt/sources.list.d/mono-xamarin.list
&&
\
echo
"deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main"
|
tee
-a
/etc/apt/sources.list.d/mono-xamarin.list
&&
\
apt-key adv
--keyserver
keyserver.ubuntu.com
--recv-keys
3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
# Install dependencies. We start with the basic ones require to build protoc
# and the C++ build
...
...
@@ -52,12 +62,19 @@ RUN apt-get update && apt-get install -y \
libtool
\
make
\
parallel
\
wget
\
# -- For csharp --
mono-devel \
referenceassemblies-pcl \
nunit \
# -- For all Java builds -- \
maven \
# -- For java_jdk6 -- \
# oops! not in jessie. too old? openjdk-6-jdk \
# -- For java_jdk7 -- \
openjdk-7-jdk \
# -- For java_oracle7 -- \
oracle-java7-installer \
# -- For python / python_cpp -- \
python-setuptools \
python-pip \
...
...
@@ -65,14 +82,40 @@ RUN apt-get update && apt-get install -y \
python2.6-dev \
python3.3-dev \
python3.4-dev \
# -- For Ruby --
ruby \
&& apt-get clean
##################
# C# dependencies
RUN
wget www.nuget.org/NuGet.exe
-O
/usr/local/bin/nuget.exe
##################
# Python dependencies
# These packages exist in apt-get, but their versions are too old, so we have
# to get updates from pip.
RUN
pip
install
pip
--upgrade
RUN
pip
install
virtualenv tox
##################
# Ruby dependencies
# Install rvm
RUN
gpg
--keyserver
hkp://keys.gnupg.net
--recv-keys
409B6B1796C275462A1703113804BB82D39DC0E3
RUN
\c
url
-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"
# Prepare ccache
RUN
ln
-s
/usr/bin/ccache /usr/local/bin/gcc
RUN
ln
-s
/usr/bin/ccache /usr/local/bin/g++
...
...
tools/run_tests/jenkins.sh
View file @
ffc81180
...
...
@@ -26,10 +26,16 @@ $TEST_SCRIPT cpp | tee $OUTPUT_DIR/1/cpp
# Other tests are run in parallel. The overall run fails if any one of them
# fails.
parallel
$TEST_SCRIPT
:::
\
parallel
--results
$OUTPUT_DIR
$TEST_SCRIPT
:::
\
csharp
\
java_jdk7
\
javanano_jdk7
\
java_oracle7
\
javanano_oracle7
\
python
\
python_cpp
python_cpp
\
ruby21
# java_jdk6 \
find
$OUTPUT_DIR
tools/run_tests/tests.sh
View file @
ffc81180
...
...
@@ -45,16 +45,20 @@ build_csharp() {
# need to really build protoc, but it's simplest to keep with the
# conventions of the other builds.
internal_build_cpp
NUGET
=
/usr/local/bin/nuget.exe
# Install latest version of Mono
sudo
apt-key adv
--keyserver
keyserver.ubuntu.com
--recv-keys
3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo
"deb http://download.mono-project.com/repo/debian wheezy main"
|
sudo tee
/etc/apt/sources.list.d/mono-xamarin.list
echo
"deb http://download.mono-project.com/repo/debian wheezy-libtiff-compat main"
|
sudo tee
-a
/etc/apt/sources.list.d/mono-xamarin.list
sudo
apt-get update
-qq
sudo
apt-get
install
-qq
mono-devel referenceassemblies-pcl nunit
wget www.nuget.org/NuGet.exe
-O
nuget.exe
if
[
"
$TRAVIS
"
==
"true"
]
;
then
# Install latest version of Mono
sudo
apt-key adv
--keyserver
keyserver.ubuntu.com
--recv-keys
3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo
"deb http://download.mono-project.com/repo/debian wheezy main"
|
sudo tee
/etc/apt/sources.list.d/mono-xamarin.list
echo
"deb http://download.mono-project.com/repo/debian wheezy-libtiff-compat main"
|
sudo tee
-a
/etc/apt/sources.list.d/mono-xamarin.list
sudo
apt-get update
-qq
sudo
apt-get
install
-qq
mono-devel referenceassemblies-pcl nunit
wget www.nuget.org/NuGet.exe
-O
nuget.exe
NUGET
=
../../nuget.exe
fi
(
cd
csharp/src
;
mono
../../nuget.exe
restore
)
(
cd
csharp/src
;
mono
$NUGET
restore
)
csharp/buildall.sh
cd
conformance
&&
make test_csharp
&&
cd
..
}
...
...
@@ -89,11 +93,13 @@ use_java() {
export
PATH
=
/usr/lib/jvm/java-7-openjdk-amd64/bin:
$PATH
;;
oracle7
)
sudo
apt-get
install
python-software-properties
# for apt-add-repository
echo
"oracle-java7-installer shared/accepted-oracle-license-v1-1 select true"
|
\
sudo
debconf-set-selections
yes
|
sudo
apt-add-repository ppa:webupd8team/java
yes
|
sudo
apt-get
install
oracle-java7-installer
if
[
"
$TRAVIS
"
==
"true"
]
;
then
sudo
apt-get
install
python-software-properties
# for apt-add-repository
echo
"oracle-java7-installer shared/accepted-oracle-license-v1-1 select true"
|
\
sudo
debconf-set-selections
yes
|
sudo
apt-add-repository ppa:webupd8team/java
yes
|
sudo
apt-get
install
oracle-java7-installer
fi
;
export
PATH
=
/usr/lib/jvm/java-7-oracle/bin:
$PATH
;;
esac
...
...
@@ -322,10 +328,10 @@ Usage: $0 { cpp |
objectivec_osx |
python |
python_cpp |
ruby
_
19 |
ruby
_
20 |
ruby
_
21 |
ruby
_
22 |
ruby19 |
ruby20 |
ruby21 |
ruby22 |
jruby }
"
exit
1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment