Skip to content

Commit

Permalink
Merge branch 'master' into feature/remove_endl
Browse files Browse the repository at this point in the history
  • Loading branch information
Jens-G committed Apr 4, 2024
2 parents ac117f7 + 381d86e commit 8619174
Show file tree
Hide file tree
Showing 120 changed files with 1,044 additions and 2,211 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ project.lock.json
/compiler/cpp/src/thrift/plugin/gen.stamp
/compiler/cpp/Debug
/compiler/cpp/Release
/compiler/cpp/compiler/Debug
/compiler/cpp/compiler/Release
/compiler/cpp/src/thrift/libparse.a
/compiler/cpp/src/thrift/thriftl.cc
/compiler/cpp/src/thrift/thrifty.cc
Expand Down
14 changes: 1 addition & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ env:
- SCRIPT="cmake.sh"
- BUILD_ARG=""
- BUILD_ENV="-e CC=gcc -e CXX=g++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
- DISTRO=ubuntu-bionic
- DISTRO=ubuntu-focal
- BUILD_LIBS="CPP C_GLIB JAVA PYTHON TESTING TUTORIALS" # only meaningful for CMake builds
- TRAVIS_BUILD_STAGE=test
# DOCKER_REPO (this works for all builds as a source for docker images - you can override for fork builds in your Travis settings)
Expand All @@ -58,12 +58,6 @@ env:
jobs:
include:
# ========================= stage: docker =========================
- stage: docker
script: true
env:
- JOB="Docker Build ubuntu-bionic 18.04 LTS"
- DISTRO=ubuntu-bionic
- TRAVIS_BUILD_STAGE=docker
- script: true
env:
- JOB="Docker Build ubuntu-focal 20.04 LTS"
Expand Down Expand Up @@ -131,12 +125,6 @@ jobs:
- DISTRO=ubuntu-focal
- SCRIPT="autotools.sh"

- script: build/docker/run.sh
env:
- JOB="Autotools (Ubuntu Bionic)"
- DISTRO=ubuntu-bionic
- SCRIPT="autotools.sh"

# ------------------------- phase: cmake ------------------------
- script: build/docker/run.sh
env:
Expand Down
3 changes: 3 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,9 @@ skipped_files = $(subst $(space),$(comma),$(codespell_skip_files))
style-local:
codespell --write-changes --skip=$(skipped_files) --disable-colors

distdir:
$(MAKE) $(AM_MAKEFLAGS) distdir-am

EXTRA_DIST = \
.asf.yaml \
.clang-format \
Expand Down
99 changes: 52 additions & 47 deletions build/docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ logic to determine their behavior:

| Variable | Default | Usage |
| -------- | ----- | ------- |
| `DISTRO` | `ubuntu-bionic` | Set by various build jobs in `.travis.yml` to run builds in different containers. Not intended to be set externally.|
| `DISTRO` | `ubuntu-focal` | Set by various build jobs in `.travis.yml` to run builds in different containers. Not intended to be set externally.|
| `DOCKER_REPO` | `thrift/thrift-build` | The name of the Docker Hub repository to obtain and store docker images. |
| `DOCKER_USER` | `<none>` | The Docker Hub account name containing the repository. |
| `DOCKER_PASS` | `<none>` | The Docker Hub account password to use when pushing new tags. |

For example, the default docker image that is used in builds if no overrides are specified would be: `thrift/thrift-build:ubuntu-bionic`
For example, the default docker image that is used in builds if no overrides are specified would be: `thrift/thrift-build:ubuntu-focal`

### Forks ###

Expand All @@ -46,14 +46,13 @@ Docker Hub and push the resulting tags.

## Supported Containers ##

The Travis CI (continuous integration) builds use the Ubuntu Bionic
(18.04 LTS) and Xenial (16.04 LTS) images to maximize language level
The Travis CI (continuous integration) builds use the Ubuntu Jammy
(22.04 LTS) and Focal (20.04 LTS) images to maximize language level
coverage.

### Ubuntu ###

* focal (stable, current)
* bionic (previous stable)
* jammy (next stable, WIP)

## Unsupported Containers ##
Expand Down Expand Up @@ -105,16 +104,16 @@ Then, to pull down the current image being used to build (the same way
Travis CI does it) - if it is out of date in any way it will build a
new one for you:

thrift$ DOCKER_REPO=thrift/thrift-build DISTRO=ubuntu-bionic build/docker/refresh.sh
thrift$ DOCKER_REPO=thrift/thrift-build DISTRO=ubuntu-focal build/docker/refresh.sh

To run all unit tests (just like Travis CI does):

thrift$ dockerrun thrift/thrift-build:ubuntu-bionic
thrift$ dockerrun thrift/thrift-build:ubuntu-focal
root@8caf56b0ce7b:/thrift/src# build/docker/scripts/autotools.sh

To run the cross tests (just like Travis CI does):

thrift$ dockerrun thrift/thrift-build:ubuntu-bionic
thrift$ dockerrun thrift/thrift-build:ubuntu-focal
root@8caf56b0ce7b:/thrift/src# build/docker/scripts/cross-test.sh

When you are done, you want to clean up occasionally so that docker isn't using lots of extra disk space:
Expand All @@ -136,61 +135,67 @@ If you do not want to use the same scripts Travis CI does, you can do it manuall

Build the image:

thrift$ docker build -t thrift build/docker/ubuntu-bionic
Linux/Mac:

thrift$ docker build --build-arg uid=$(id -u) --build-arg gid=$(id -g) -t thrift build/docker/ubuntu-jammy

Windows:

thrift$ docker build -t thrift build/docker/ubuntu-jammy


Open a command prompt in the image:

thrift$ docker run -v $(pwd):/thrift/src -it thrift /bin/bash

## Core Tool Versions per Dockerfile ##

Last updated: October 1, 2017
Last updated: March 5, 2024

| Tool | ubuntu-xenial | ubuntu-bionic | Notes |
| Tool | ubuntu-focal | ubuntu-jammy | Notes |
| :-------- | :------------ | :------------ | :---- |
| ant | 1.9.6 | 1.10.3 | |
| autoconf | 2.69 | 2.69 | |
| automake | 1.15 | 1.15.1 | |
| bison | 3.0.4 | 3.0.4 | |
| boost | 1.58.0 | 1.65.1 | |
| cmake | 3.5.1 | 3.10.2 | |
| cppcheck | 1.72 | 1.82 | |
| flex | 2.6.0 | 2.6.4 | |
| libc6 | 2.23 | 2.27 | glibc |
| libevent | 2.0.21 | 2.1.8 | |
| libstdc++ | 5.4.0 | 7.3.0 | |
| make | 4.1 | 4.1 | |
| openssl | 1.0.2g | 1.1.0g | |
| qt5 | 5.5.1 | 5.9.5 | |
| ant | 1.10.7 | 1.10.12 | |
| autoconf | 2.69 | 2.71 | |
| automake | 1.16.1 | 1.16.5 | |
| bison | 3.5.1 | 3.8.2 | |
| boost | 1.71.0 | 1.74.0 | |
| cmake | 3.16.3 | 3.22.1 | |
| cppcheck | 1.90 | 2.7 | |
| flex | 2.6.4 | 2.6.4 | |
| libc6 | 2.31 | 2.35 | glibc |
| libevent | 2.0.16 | 2.0.16 | |
| libstdc++ | 10.5.0 | 10.5.0 | |
| make | 4.2.1 | 4.3 | |
| openssl | 1.1.1f | 3.0.2 | |
| qt5 | 5.12.8 | 5.15.3 | |

## Compiler/Language Versions per Dockerfile ##

| Language | ubuntu-xenial | ubuntu-bionic | Notes |
| Language | ubuntu-focal | ubuntu-jammy | Notes |
| :-------- | :------------ | :------------ | :---- |
| as of | Mar 06, 2018 | Jul 1, 2019 | |
| as3 | | 4.6.0 | |
| C++ gcc | 5.4.0 | 7.4.0 | |
| C++ clang | 3.8 | 6.0 | |
| C# (mono) | 4.2.1.0 | 4.6.2.7 | |
| c\_glib | 2.48.2 | 2.56.4 | |
| as3 | 4.6.0 | 4.6.0 | |
| C++ gcc | 9.4.0 | 11.4.0 | |
| C++ clang | 13.0.0 | 13.0.0 | |
| c\_glib | 3.2.12 | 3.2.12 | |
| cl (sbcl) | | 1.5.3 | |
| d | 2.087.0 | 2.087.0 | |
| dart | 2.0.0 | 2.4.0 | |
| dart | 2.7.2-1 | 2.7.2-1 | |
| delphi | | | Not in CI |
| erlang | OTP-20 | OTP-25 | |
| go | 1.15.10 | 1.16.2 | |
| haxe | 3.2.1 | 3.4.4 | THRIFT-4352: avoid 3.4.2 |
| java | 1.8.0\_191 | 17 | |
| js | Node.js 6.17.1, V8 5.1.281.111, npm 3.10.10 | Node.js 10.18.0, V8 6.8.275.32, npm 6.13.4 | |
| lua | | 5.2.4 | Lua 5.3: see THRIFT-4386 |
| netstd | 7.0 | 7.0 | |
| nodejs | 6.16.0 | 10.16.0 | |
| ocaml | | 4.05.0 | THRIFT-4517: ocaml 4.02.3 on xenial appears broken |
| perl | 5.22.1 | 5.26.1 | |
| php | 7.0.32 | 7.2.19 | |
| python | 2.7.12 | 2.7.15 | |
| python3 | 3.5.2 | 3.6.8 | |
| ruby | 2.3.1p112 | 2.5.1p57 | |
| erlang | OTP-25.3.2.9 | OTP-25.3.2.9 | |
| go | 1.21.7 | 1.21.7 | |
| haxe | 4.2.1 | 4.2.1 | |
| java | 17 | 17 | |
| js | Node.js 16.20.2, npm 8.19.4 | Node.js 16.20.2, npm 8.19.4 | |
| lua | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
| netstd | 8.0.200 | 8.0.200 | |
| nodejs | 16.20.2 | 16.20.2 | |
| ocaml | 4.08.1 | 4.13.1 | |
| perl | 5.30.0 | 5.34.0 | |
| php | 7.4.3 | 8.1.2 | |
| python2 | 2.7.18 | | |
| python3 | 3.8.10 | 3.10.12 | |
| ruby | 2.7.0p0 | 3.0.2p107 | |
| rust | 1.65.0 | 1.65.0 | |
| smalltalk | | | Not in CI |
| swift | | 5.1.4 | |
| swift | 5.7 | 5.7 | |
4 changes: 2 additions & 2 deletions build/docker/msvc2017/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ RUN C:\BuildTools\Common7\Tools\VsDevCmd.bat -arch=amd64 && `

# Install zlib
COPY appveyor\build-zlib.bat C:\TEMP\build-zlib.bat
ENV ZLIB_VERSION=1.2.11
ENV ZLIB_VERSION=1.2.13
ENV WIN3P=C:\TEMP\WIN3P
RUN C:\BuildTools\Common7\Tools\VsDevCmd.bat -arch=amd64 && `
MKDIR C:\TEMP\WIN3P && `
Expand All @@ -76,7 +76,7 @@ RUN C:\BuildTools\Common7\Tools\VsDevCmd.bat -arch=amd64 && `
RMDIR /S /Q C:\TEMP\WIN3P

# Install OpenSSL 1.1.0
ADD http://slproweb.com/download/Win64OpenSSL-1_1_0j.exe C:\TEMP\openssl.exe
ADD http://slproweb.com/download/Win64OpenSSL-1_1_0l.exe C:\TEMP\openssl.exe
RUN C:\TEMP\openssl.exe /silent && `
DEL C:\TEMP\openssl.exe

Expand Down
59 changes: 0 additions & 59 deletions build/docker/old/Vagrantfile

This file was deleted.

Loading

0 comments on commit 8619174

Please sign in to comment.