| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 1 | # Apache Thrift Docker containers |
| James E. King, III | 65efdff | 2017-09-25 00:13:38 -0400 | [diff] [blame^] | 2 | |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 3 | Docker containers used to build and test Apache Thrift for a variety of platforms. |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 4 | |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 5 | ## Available Containers |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 6 | |
| James E. King, III | 65efdff | 2017-09-25 00:13:38 -0400 | [diff] [blame^] | 7 | The Travis CI (continuous integration) builds use the Ubuntu Trusty and Xenial images to maximize |
| 8 | language level coverage. The other images may or may not work for all languages. |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 9 | |
| 10 | ### Ubuntu |
| 11 | * trusty |
| 12 | * xenial (current) |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 13 | |
| James E. King, III | 65efdff | 2017-09-25 00:13:38 -0400 | [diff] [blame^] | 14 | ### CentOS |
| 15 | * 7.3 |
| 16 | * make check in lib/py may hang in test_sslsocket - root cause unknown |
| 17 | |
| 18 | ### Debian |
| 19 | * jessie |
| 20 | * stretch |
| 21 | * make check in lib/cpp fails due to https://svn.boost.org/trac10/ticket/12507 |
| 22 | |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 23 | ## Dependencies |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 24 | * A working Docker environment. A Vagrantfile is provided which will setup an Ubuntu host and working Docker environment as well as build the Apache Thrift Docker container for testing and development. |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 25 | |
| 26 | ## Usage |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 27 | From the Apache Thrift code base root: |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 28 | |
| 29 | * Build |
| 30 | |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 31 | docker build -t thrift build/docker/ubuntu-xenial |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 32 | |
| 33 | or |
| 34 | |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 35 | docker build -t thrift build/docker/centos-7.3 |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 36 | |
| 37 | * Run |
| 38 | |
| Nobuaki Sukegawa | a6ab1f5 | 2015-11-28 15:04:39 +0900 | [diff] [blame] | 39 | docker run -v $(pwd):/thrift/src -it thrift /bin/bash |
| jfarrell | e03f7e8 | 2015-02-18 23:25:54 -0500 | [diff] [blame] | 40 | |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 41 | ## Core Tool Versions per Dockerfile |
| James E. King, III | 65efdff | 2017-09-25 00:13:38 -0400 | [diff] [blame^] | 42 | | Tool | centos-7.3 | debian-stretch | ubuntu-trusty | ubuntu-xenial | Notes | |
| 43 | | :-------- | :--------- | :------------- | :------------ | :------------ | :---- | |
| 44 | | ant | 1.9.2 | 1.9.9 | 1.9.3 | 1.9.6 | | |
| 45 | | autoconf | 2.69 | 2.69 | 2.69 | 2.69 | | |
| 46 | | automake | 1.13.4 | 1.15 | 1.14.1 | 1.15 | | |
| 47 | | bison | 2.7 | 3.0.4 | 3.0.2 | 3.0.4 | | |
| 48 | | boost | 1.53.0 | 1.62.0 | 1.54.0 | 1.58.0 | | |
| 49 | | cmake | 3.6.3 | 3.7.2 | 3.2.2 | 3.5.1 | | |
| 50 | | flex | 2.5.37 | 2.6.1 | 2.5.35 | 2.6.0 | | |
| 51 | | glibc | 2.17 | 2.24 | 2.19 | 2.23 | | |
| 52 | | libevent | 2.0.21 | 2.0.21 | 2.0.21 | 2.0.21 | | |
| 53 | | libstdc++ | 4.8.5 | 6.3.0 | 4.8.4 | 5.4.0 | | |
| 54 | | make | 3.82 | 4.1 | 3.81 | 4.1 | | |
| 55 | | openssl | 1.0.1e | 1.1.0f | 1.0.1f | 1.0.2g | | |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 56 | |
| 57 | ## Language Versions per Dockerfile |
| James E. King, III | 65efdff | 2017-09-25 00:13:38 -0400 | [diff] [blame^] | 58 | | Language | centos-7.3 | debian-stretch | ubuntu-trusty | ubuntu-xenial | Notes | |
| 59 | | :-------- | :--------- | :------------- | :------------ | :------------ | :---- | |
| 60 | | as3 | | | | | Not in CI | |
| 61 | | C++-gcc | 4.8.5 | 6.3.0 | 4.8.4 | 5.4.0 | | |
| 62 | | C++-clang | 3.4.2 | 3.8.1 | 3.4 | 3.8 | | |
| 63 | | C# (mono) | 4.6.2 | 4.6.2.7 | 5.2.0.224 | 5.2.0.215 | | |
| 64 | | c_glib | 2.46.2 | 2.50.3 | 2.40.2 | 2.48.2 | | |
| 65 | | cocoa | | | | | Not in CI | |
| 66 | | d | 2.076.0 | 2.076.0 | 2.070.0 | 2.075.1 | | |
| 67 | | dart | 1.24.2 | 1.24.2 | 1.24.2 | 1.24.2 | | |
| 68 | | delphi | | | | | Not in CI | |
| 69 | | dotnet | | | | | Not in CI | |
| 70 | | erlang | 20 | 19.2 | 20 | 18.3 | | |
| 71 | | go | 1.9 | 1.7.4 | 1.4.3 | 1.6.2 | | |
| 72 | | haskell | 7.6.3 | 8.0.1 | 7.6.3 | 7.10.3 | | |
| 73 | | haxe | | 3.2.1 | 3.2.1 | 3.2.1 | | |
| 74 | | java | 1.8.0_141 | 1.8.0_141 | 1.7.0_151 | 1.8.0_131 | | |
| 75 | | js | | | | | Unsure how to look for version info | |
| 76 | | lua | 5.3.4 | 5.2.4 | 5.2.3 | 5.2.4 | | |
| 77 | | nodejs | 6.11.1 | 8.4.0 | 4.8.4 | 7.10.1 | Node 8.5 broke copyFile and jsdoc | |
| 78 | | ocaml | 4.01.0 | 4.02.3 | 4.02.3 | 4.02.3 | | |
| 79 | | perl | 5.16.3 | 5.24.1 | 5.18.2 | 5.22.1 | | |
| 80 | | php | 5.4.16 | 7.0.19 | 5.5.9 | 7.0.22 | | |
| 81 | | python | 2.7.5 | 2.7.13 | 2.7.6 | 2.7.12 | | |
| 82 | | python3 | 3.4.5 | 3.5.3 | 3.4.3 | 3.5.2 | | |
| 83 | | ruby | 2.0.0p648 | 2.3.3p222 | 1.9.3p484 | 2.3.1p112 | | |
| 84 | | rust | 1.17.0 | 1.14.0 | 1.17.0 | 1.15.1 | Rust is too old on stretch | |
| 85 | | smalltalk | | | | | Not in CI | |
| 86 | | swift | | | | | Not in CI | |
| James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 87 | |