From 5d703b62fbd2d7ba32de95e7b9f750f4ea909548 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 27 Dec 2023 22:31:52 +0100 Subject: [PATCH] Bump thrift from 0.14.1 to 0.19.0 Signed-off-by: Matthieu MOREL --- .github/workflows/build-and-publish.yml | 60 +++++++++++++++++++++++++ .hadolint.yaml | 2 + 0.10/Dockerfile | 41 ----------------- 0.11/Dockerfile | 41 ----------------- 0.12/Dockerfile | 41 ----------------- 0.13/Dockerfile | 41 ----------------- 0.14/Dockerfile | 40 ----------------- 0.9/Dockerfile | 41 ----------------- Dockerfile | 31 +++++++++++++ README.md | 11 +---- 10 files changed, 95 insertions(+), 254 deletions(-) create mode 100644 .github/workflows/build-and-publish.yml create mode 100644 .hadolint.yaml delete mode 100644 0.10/Dockerfile delete mode 100644 0.11/Dockerfile delete mode 100644 0.12/Dockerfile delete mode 100644 0.13/Dockerfile delete mode 100644 0.14/Dockerfile delete mode 100644 0.9/Dockerfile create mode 100644 Dockerfile diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml new file mode 100644 index 0000000..d81d82e --- /dev/null +++ b/.github/workflows/build-and-publish.yml @@ -0,0 +1,60 @@ +name: Docker Image +on: + push: + tags: + - '**' + branches: + - master + pull_request: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf # v3.1.0 + with: + verbose: true + + - name: Set up QEMU + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 + with: + install: true + + - name: Extract tags/labels from Git + id: docker_meta + uses: docker/metadata-action@9dc751fe249ad99385a2583ee0d084c400eee04e # v5.4.0 + with: + images: jaegertracing/thrift + # The 'tags:' section defines how the Docker image will be tagged: + # - pushes to master branch will be published as 'latest' + # - pushes tagged with semver will be published as that version (without 'v') + # - other tags can be used as is + # Documentation: https://github.com/docker/metadata-action#tags-input + tags: | + type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }} + type=semver,pattern={{version}} + type=ref,event=tag + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and maybe push Docker image + uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 + with: + push: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') }} + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + platforms: linux/amd64,linux/arm64 + diff --git a/.hadolint.yaml b/.hadolint.yaml new file mode 100644 index 0000000..8f7e23e --- /dev/null +++ b/.hadolint.yaml @@ -0,0 +1,2 @@ +ignored: + - DL3008 diff --git a/0.10/Dockerfile b/0.10/Dockerfile deleted file mode 100644 index 0643c02..0000000 --- a/0.10/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM debian:wheezy -MAINTAINER Adam Hawkins - -ENV THRIFT_VERSION 0.10.0 - -RUN buildDeps=" \ - automake \ - bison \ - curl \ - flex \ - g++ \ - libboost-dev \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libevent-dev \ - libssl-dev \ - libtool \ - make \ - pkg-config \ - "; \ - apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ - && curl -sSL "http://apache.mirrors.spacedump.net/thrift/$THRIFT_VERSION/thrift-$THRIFT_VERSION.tar.gz" -o thrift.tar.gz \ - && mkdir -p /usr/src/thrift \ - && tar zxf thrift.tar.gz -C /usr/src/thrift --strip-components=1 \ - && rm thrift.tar.gz \ - && cd /usr/src/thrift \ - && ./configure --without-python --without-cpp \ - && make \ - && make install \ - && cd / \ - && rm -rf /usr/src/thrift \ - && curl -k -sSL "https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz" -o go.tar.gz \ - && tar xzf go.tar.gz \ - && rm go.tar.gz \ - && cp go/bin/gofmt /usr/bin/gofmt \ - && rm -rf go \ - && apt-get purge -y --auto-remove $buildDeps - -CMD [ "thrift" ] diff --git a/0.11/Dockerfile b/0.11/Dockerfile deleted file mode 100644 index a98ed4f..0000000 --- a/0.11/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM debian:wheezy -LABEL authors="Adam Hawkins " - -ENV THRIFT_VERSION 0.11.0 - -RUN buildDeps=" \ - automake \ - bison \ - curl \ - flex \ - g++ \ - libboost-dev \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libevent-dev \ - libssl-dev \ - libtool \ - make \ - pkg-config \ - "; \ - apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ - && curl -sSL "http://apache.mirrors.spacedump.net/thrift/$THRIFT_VERSION/thrift-$THRIFT_VERSION.tar.gz" -o thrift.tar.gz \ - && mkdir -p /usr/src/thrift \ - && tar zxf thrift.tar.gz -C /usr/src/thrift --strip-components=1 \ - && rm thrift.tar.gz \ - && cd /usr/src/thrift \ - && ./configure --without-python --without-cpp \ - && make \ - && make install \ - && cd / \ - && rm -rf /usr/src/thrift \ - && curl -k -sSL "https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz" -o go.tar.gz \ - && tar xzf go.tar.gz \ - && rm go.tar.gz \ - && cp go/bin/gofmt /usr/bin/gofmt \ - && rm -rf go \ - && apt-get purge -y --auto-remove $buildDeps - -CMD [ "thrift" ] diff --git a/0.12/Dockerfile b/0.12/Dockerfile deleted file mode 100644 index 9791366..0000000 --- a/0.12/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM ubuntu:18.04 - -ENV THRIFT_VERSION v0.12.0 - -RUN buildDeps=" \ - automake \ - bison \ - curl \ - flex \ - g++ \ - libboost-dev \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libevent-dev \ - libssl-dev \ - libtool \ - make \ - pkg-config \ - "; \ - apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ - && curl -k -sSL "https://github.com/apache/thrift/archive/${THRIFT_VERSION}.tar.gz" -o thrift.tar.gz \ - && mkdir -p /usr/src/thrift \ - && tar zxf thrift.tar.gz -C /usr/src/thrift --strip-components=1 \ - && rm thrift.tar.gz \ - && cd /usr/src/thrift \ - && ./bootstrap.sh \ - && ./configure --disable-libs \ - && make \ - && make install \ - && cd / \ - && rm -rf /usr/src/thrift \ - && apt-get purge -y --auto-remove $buildDeps \ - && rm -rf /var/cache/apt/* \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /tmp/* \ - && rm -rf /var/tmp/* - - -CMD [ "thrift" ] diff --git a/0.13/Dockerfile b/0.13/Dockerfile deleted file mode 100644 index d45b279..0000000 --- a/0.13/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM ubuntu:18.04 - -ENV THRIFT_VERSION v0.13.0 - -RUN buildDeps=" \ - automake \ - bison \ - curl \ - flex \ - g++ \ - libboost-dev \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libevent-dev \ - libssl-dev \ - libtool \ - make \ - pkg-config \ - "; \ - apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ - && curl -k -sSL "https://github.com/apache/thrift/archive/${THRIFT_VERSION}.tar.gz" -o thrift.tar.gz \ - && mkdir -p /usr/src/thrift \ - && tar zxf thrift.tar.gz -C /usr/src/thrift --strip-components=1 \ - && rm thrift.tar.gz \ - && cd /usr/src/thrift \ - && ./bootstrap.sh \ - && ./configure --disable-libs \ - && make \ - && make install \ - && cd / \ - && rm -rf /usr/src/thrift \ - && apt-get purge -y --auto-remove $buildDeps \ - && rm -rf /var/cache/apt/* \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /tmp/* \ - && rm -rf /var/tmp/* - - -CMD [ "thrift" ] diff --git a/0.14/Dockerfile b/0.14/Dockerfile deleted file mode 100644 index a9a915c..0000000 --- a/0.14/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -FROM ubuntu:20.04 - -ENV THRIFT_VERSION v0.14.1 - -RUN buildDeps=" \ - automake \ - bison \ - curl \ - flex \ - g++ \ - libboost-dev \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libevent-dev \ - libssl-dev \ - libtool \ - make \ - pkg-config \ - "; \ - apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ - && curl -k -sSL "https://github.com/apache/thrift/archive/${THRIFT_VERSION}.tar.gz" -o thrift.tar.gz \ - && mkdir -p /usr/src/thrift \ - && tar zxf thrift.tar.gz -C /usr/src/thrift --strip-components=1 \ - && rm thrift.tar.gz \ - && cd /usr/src/thrift \ - && ./bootstrap.sh \ - && ./configure --disable-libs \ - && make \ - && make install \ - && cd / \ - && rm -rf /usr/src/thrift \ - && apt-get purge -y --auto-remove $buildDeps \ - && rm -rf /var/cache/apt/* \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /tmp/* \ - && rm -rf /var/tmp/* - -CMD [ "thrift" ] diff --git a/0.9/Dockerfile b/0.9/Dockerfile deleted file mode 100644 index de517b5..0000000 --- a/0.9/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM debian:wheezy -MAINTAINER Adam Hawkins - -ENV THRIFT_VERSION 0.9.3 - -RUN buildDeps=" \ - automake \ - bison \ - curl \ - flex \ - g++ \ - libboost-dev \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libevent-dev \ - libssl-dev \ - libtool \ - make \ - pkg-config \ - "; \ - apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ - && curl -sSL "http://apache.mirrors.spacedump.net/thrift/$THRIFT_VERSION/thrift-$THRIFT_VERSION.tar.gz" -o thrift.tar.gz \ - && mkdir -p /usr/src/thrift \ - && tar zxf thrift.tar.gz -C /usr/src/thrift --strip-components=1 \ - && rm thrift.tar.gz \ - && cd /usr/src/thrift \ - && ./configure --without-python --without-cpp \ - && make \ - && make install \ - && cd / \ - && rm -rf /usr/src/thrift \ - && curl -k -sSL "https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz" -o go.tar.gz \ - && tar xzf go.tar.gz \ - && rm go.tar.gz \ - && cp go/bin/gofmt /usr/bin/gofmt \ - && rm -rf go \ - && apt-get purge -y --auto-remove $buildDeps - -CMD [ "thrift" ] diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4a0f08c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +FROM ubuntu:22.04 + +ENV THRIFT_VERSION v0.19.0 + +ENV BUILD_DEPS "automake bison curl flex g++ libboost-all-dev libevent-dev libssl-dev libtool make pkg-config" + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ${BUILD_DEPS} \ + && rm -rf /var/lib/apt/lists/* \ + && curl -k -sSL "https://github.com/apache/thrift/archive/${THRIFT_VERSION}.tar.gz" -o thrift.tar.gz \ + && mkdir -p /usr/src/thrift \ + && tar zxf thrift.tar.gz -C /usr/src/thrift --strip-components=1 \ + && rm thrift.tar.gz + +WORKDIR /usr/src/thrift + +RUN ./bootstrap.sh \ + && ./configure --disable-libs \ + && make \ + && make install + +WORKDIR / + +RUN rm -rf /usr/src/thrift \ + && apt-get purge -y --auto-remove ${BUILD_DEPS} \ + && rm -rf /var/cache/apt/* \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /tmp/* \ + && rm -rf /var/tmp/* + +CMD [ "thrift" ] diff --git a/README.md b/README.md index b437b78..112a8e9 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ Read more about [Thrift](https://thrift.apache.org). This is image is intended to run as an executable. Files are provided by mounting a directory. Here's an example of compiling -`service.thrift` to ruby. +`service.thrift` to golang. - docker run -v "$(pwd):/data" jaegertracing/thrift thrift --gen rb /data/service.thrift + docker run -v "$(pwd):/data" jaegertracing/thrift thrift --gen go /data/service.thrift # Language Specific Installations @@ -28,10 +28,3 @@ additional things to install besides the thrift compiler. They are listed below: * Go - `go fmt` from go 1.4 - -# Build and publish - -``` -docker build -f 0.14/Dockerfile -t jaegertracing/thrift:0.14 . -docker push jaegertracing/thrift:0.14 -```