You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by GitBox <gi...@apache.org> on 2022/09/27 09:36:21 UTC

[GitHub] [thrift] Jimexist opened a new pull request, #2684: [build infra] add ubuntu jammy in build infra

Jimexist opened a new pull request, #2684:
URL: https://github.com/apache/thrift/pull/2684

   <!-- Explain the changes in the pull request below: -->
   
   add ubuntu jammy in build infra
   
   <!-- We recommend you review the checklist/tips before submitting a pull request. -->
   
   - [ ] Did you create an [Apache Jira](https://issues.apache.org/jira/projects/THRIFT/issues/) ticket?  (not required for trivial changes)
   - [ ] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
   - [ ] Did you squash your changes to a single commit?  (not required, but preferred)
   - [ ] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
   - [ ] If your change does not involve any code, include `[skip ci]` anywhere in the commit message to free up build resources.
   
   <!--
     The Contributing Guide at:
     https://github.com/apache/thrift/blob/master/CONTRIBUTING.md
     has more details and tips for committing properly.
   -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] fishy commented on a diff in pull request #2684: THRIFT-5633: [build infra] add ubuntu jammy in build infra

Posted by GitBox <gi...@apache.org>.
fishy commented on code in PR #2684:
URL: https://github.com/apache/thrift/pull/2684#discussion_r992957105


##########
build/docker/ubuntu-jammy/Dockerfile:
##########
@@ -0,0 +1,283 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Apache Thrift Docker build environment for Ubuntu Jammy
+# with some updated packages.
+#
+
+FROM buildpack-deps:jammy-scm
+LABEL MAINTAINER="Apache Thrift <de...@thrift.apache.org>"
+ENV DEBIAN_FRONTEND=noninteractive
+
+### Add apt repos
+
+RUN apt-get update -yq && \
+  apt-get dist-upgrade -y && \
+  apt-get install -y --no-install-recommends --fix-missing \
+  apt \
+  apt-transport-https \
+  apt-utils \
+  curl \
+  dirmngr \
+  software-properties-common \
+  wget
+
+# Dart
+RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+  curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+  /etc/apt/sources.list.d/dart_stable.list
+
+# dotnet (netcore)
+RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
+  wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
+  chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
+  chown root:root /etc/apt/sources.list.d/microsoft-prod.list
+
+# node.js
+RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+  echo "deb https://deb.nodesource.com/node_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list
+
+### install general dependencies
+RUN apt-get update -yq && \
+  apt-get install -y --no-install-recommends \
+  `# General dependencies` \
+  bash-completion \
+  bison \
+  build-essential \
+  clang \
+  cmake \
+  debhelper \
+  flex \
+  gdb \
+  libasound2 \
+  libatk-bridge2.0-0 \
+  libgtk-3-0 \
+  llvm \
+  ninja-build \
+  pkg-config \
+  unzip \
+  valgrind \
+  vim
+ENV PATH /usr/lib/llvm-6.0/bin:$PATH
+
+# lib/as3 (ActionScript)
+RUN mkdir -p /usr/local/adobe/flex/4.6 && \
+  cd /usr/local/adobe/flex/4.6 && \
+  wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
+  unzip flex_sdk_4.6.zip
+ENV FLEX_HOME /usr/local/adobe/flex/4.6
+
+# TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
+# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
+RUN apt-get install -y --no-install-recommends \
+  `# C++ dependencies` \
+  libboost-all-dev \
+  libevent-dev \
+  libssl-dev \
+  qt5-default \
+  qtbase5-dev \
+  qtbase5-dev-tools
+
+ENV SBCL_VERSION 1.5.3
+RUN \
+  `# Common Lisp (sbcl) dependencies` \
+  curl --version && \
+  curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
+  tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
+  cd sbcl-${SBCL_VERSION}-x86-64-linux && \
+  ./install.sh && \
+  sbcl --version && \
+  cd .. && \
+  rm -rf sbcl*
+
+ENV D_VERSION     2.087.0
+ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
+RUN \
+  `# D dependencies` \
+  wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
+  dpkg --install ${DMD_DEB} && \
+  rm -f ${DMD_DEB} && \
+  mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+  git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+  mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-libevent-2.0 && \
+  git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
+  mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-openssl-1.1.0h
+
+ENV DART_VERSION 2.7.2-1
+RUN apt-get install -y --no-install-recommends \
+  `# Dart dependencies` \
+  dart=$DART_VERSION
+ENV PATH /usr/lib/dart/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# dotnet core dependencies` \
+  dotnet-sdk-6.0 \
+  dotnet-runtime-6.0 \
+  aspnetcore-runtime-6.0 \
+  dotnet-apphost-pack-6.0
+
+# Erlang dependencies
+ARG ERLANG_OTP_VERSION=23.3.4.11
+ARG ERLANG_REBAR_VERSION=3.18.0
+RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \
+  curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
+  kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
+  curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+  rebar3 --version
+ENV PATH /usr/local/lib/otp/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# GlibC dependencies` \
+  libglib2.0-dev
+
+# golang
+ENV GOLANG_VERSION 1.19
+ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
+ENV GOLANG_DOWNLOAD_SHA256 464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6

Review Comment:
   you would want to match this with recently merged https://github.com/apache/thrift/commit/32bd0bd950739ca048d10783a7617e317c8b9419, though.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on a diff in pull request #2684: THRIFT-5633: [build infra] add ubuntu jammy in build infra

Posted by GitBox <gi...@apache.org>.
Jimexist commented on code in PR #2684:
URL: https://github.com/apache/thrift/pull/2684#discussion_r992958306


##########
build/docker/ubuntu-jammy/Dockerfile:
##########
@@ -0,0 +1,283 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Apache Thrift Docker build environment for Ubuntu Jammy
+# with some updated packages.
+#
+
+FROM buildpack-deps:jammy-scm
+LABEL MAINTAINER="Apache Thrift <de...@thrift.apache.org>"
+ENV DEBIAN_FRONTEND=noninteractive
+
+### Add apt repos
+
+RUN apt-get update -yq && \
+  apt-get dist-upgrade -y && \
+  apt-get install -y --no-install-recommends --fix-missing \
+  apt \
+  apt-transport-https \
+  apt-utils \
+  curl \
+  dirmngr \
+  software-properties-common \
+  wget
+
+# Dart
+RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+  curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+  /etc/apt/sources.list.d/dart_stable.list
+
+# dotnet (netcore)
+RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
+  wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
+  chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
+  chown root:root /etc/apt/sources.list.d/microsoft-prod.list
+
+# node.js
+RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+  echo "deb https://deb.nodesource.com/node_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list
+
+### install general dependencies
+RUN apt-get update -yq && \
+  apt-get install -y --no-install-recommends \
+  `# General dependencies` \
+  bash-completion \
+  bison \
+  build-essential \
+  clang \
+  cmake \
+  debhelper \
+  flex \
+  gdb \
+  libasound2 \
+  libatk-bridge2.0-0 \
+  libgtk-3-0 \
+  llvm \
+  ninja-build \
+  pkg-config \
+  unzip \
+  valgrind \
+  vim
+ENV PATH /usr/lib/llvm-6.0/bin:$PATH
+
+# lib/as3 (ActionScript)
+RUN mkdir -p /usr/local/adobe/flex/4.6 && \
+  cd /usr/local/adobe/flex/4.6 && \
+  wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
+  unzip flex_sdk_4.6.zip
+ENV FLEX_HOME /usr/local/adobe/flex/4.6
+
+# TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
+# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
+RUN apt-get install -y --no-install-recommends \
+  `# C++ dependencies` \
+  libboost-all-dev \
+  libevent-dev \
+  libssl-dev \
+  qt5-default \
+  qtbase5-dev \
+  qtbase5-dev-tools
+
+ENV SBCL_VERSION 1.5.3
+RUN \
+  `# Common Lisp (sbcl) dependencies` \
+  curl --version && \
+  curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
+  tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
+  cd sbcl-${SBCL_VERSION}-x86-64-linux && \
+  ./install.sh && \
+  sbcl --version && \
+  cd .. && \
+  rm -rf sbcl*
+
+ENV D_VERSION     2.087.0
+ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
+RUN \
+  `# D dependencies` \
+  wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
+  dpkg --install ${DMD_DEB} && \
+  rm -f ${DMD_DEB} && \
+  mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+  git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+  mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-libevent-2.0 && \
+  git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
+  mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-openssl-1.1.0h
+
+ENV DART_VERSION 2.7.2-1
+RUN apt-get install -y --no-install-recommends \
+  `# Dart dependencies` \
+  dart=$DART_VERSION
+ENV PATH /usr/lib/dart/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# dotnet core dependencies` \
+  dotnet-sdk-6.0 \
+  dotnet-runtime-6.0 \
+  aspnetcore-runtime-6.0 \
+  dotnet-apphost-pack-6.0
+
+# Erlang dependencies
+ARG ERLANG_OTP_VERSION=23.3.4.11
+ARG ERLANG_REBAR_VERSION=3.18.0
+RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \
+  curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
+  kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
+  curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+  rebar3 --version
+ENV PATH /usr/local/lib/otp/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# GlibC dependencies` \
+  libglib2.0-dev
+
+# golang
+ENV GOLANG_VERSION 1.19
+ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
+ENV GOLANG_DOWNLOAD_SHA256 464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6

Review Comment:
   Let me address in one shot in a subsequent pr 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist merged pull request #2684: THRIFT-5633: [build infra] add ubuntu jammy in build infra

Posted by GitBox <gi...@apache.org>.
Jimexist merged PR #2684:
URL: https://github.com/apache/thrift/pull/2684


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2684: THRIFT-5633: [build infra] add ubuntu jammy in build infra

Posted by GitBox <gi...@apache.org>.
Jimexist commented on PR #2684:
URL: https://github.com/apache/thrift/pull/2684#issuecomment-1275549514

   > 
   
   yes i have been trying to resolve these during last few weeks.
   
      - > the cross-test ones are swift, not sure if we recently merged a swift change broke it, or a new swift version broke it.
      
         i guess due to uuid not properly working in swift, so is golang and rust, for which i tried to add in:
         - #2700 
         - #2695 
   - for the ruby case i had no clue;
   - for the java ssl errors, i had the impression that it was due to jdk bug but it was not a case because i had upgraded java to jdk 17
         - #2686 
         and the error persists; because we have java and kotlin build covered in GitHub action so it should be fine
   
   my plan is to gradually cover more languages in GitHub action and then fix the cross test actions; for travis, that will be fixed later if i have more time
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org