From ec3f13f1c1558e158a2b7f6ece238d5253fe1f08 Mon Sep 17 00:00:00 2001 From: Ivo Anjo Date: Fri, 10 Mar 2023 16:30:59 +0000 Subject: [PATCH] Remove disabled JRuby 9.2.8.0 testing setup **What does this PR do?**: In #2572 we changed our CI setup to test only with JRuby 9.2.21.0, disabling JRuby 9.2.8.0. Prior to that change, we tested with both versions. At the time we decided to only disable the JRuby 9.2.8.0 testing, commenting it out. This PR actually removes all references to testing with JRuby 9.2.8.0. As a reminder, we recommend that all our customers use at least JRuby 9.2.21.0, and also recommend evaluating the move to JRuby 9.3, as the JRuby developers have marked JRuby 9.2 as end-of-life: . **Motivation**: Avoid having leftover setup that's not in use. **Additional Notes**: N/A **How to test the change?**: Validate that CI is still green on all configurations. --- .circleci/config.yml | 31 ----- .../images/primary/Dockerfile-jruby-9.2.8.0 | 119 ------------------ .github/workflows/build-ruby.yml | 4 - docker-compose.yml | 26 ---- tasks/appraisal.rake | 2 - 5 files changed, 182 deletions(-) delete mode 100644 .circleci/images/primary/Dockerfile-jruby-9.2.8.0 diff --git a/.circleci/config.yml b/.circleci/config.yml index d92d81d456d..fa8500f75fd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -524,12 +524,6 @@ job_configuration: image: ghcr.io/datadog/dd-trace-rb/ruby:3.2.0-dd resource_class_to_use: medium+ # ADD NEW RUBIES HERE - # TODO: Disabled for possible removal - # - &config-jruby-9_2_8_0 # Test with older 9.2 release because 9.2.9.0 changed behavior, see https://github.com/DataDog/dd-trace-rb/pull/1409 - # <<: *filters_all_branches_and_tags - # ruby_version: 'jruby-9.2.8.0' - # image: ghcr.io/datadog/dd-trace-rb/jruby:9.2.8.0-dd - # resource_class_to_use: medium+ - &config-jruby-9_2 # More recent release of 9.2 <<: *filters_all_branches_and_tags ruby_version: 'jruby-9.2.21.0' @@ -565,8 +559,6 @@ workflows: - test-3.1 - test-3.2 # ADD NEW RUBIES HERE - # TODO: Disabled for possible removal - #- test-jruby-9.2.8.0 - test-jruby-9.2 - test-jruby-9.3 - orb/changelog: @@ -717,15 +709,6 @@ workflows: requires: - build-3.2 # ADD NEW RUBIES HERE - # TODO: Disabled for possible removal - # - orb/build: - # <<: *config-jruby-9_2_8_0 - # name: build-jruby-9.2.8.0 - # - orb/test: - # <<: *config-jruby-9_2_8_0 - # name: test-jruby-9.2.8.0 - # requires: - # - build-jruby-9.2.8.0 - orb/build: <<: *config-jruby-9_2 name: build-jruby-9.2 @@ -758,8 +741,6 @@ workflows: - test-3.1 - test-3.2 # ADD NEW RUBIES HERE - # TODO: Disabled for possible removal - # - test-jruby-9.2.8.0 - test-jruby-9.2 - test-jruby-9.3 - "deploy release": @@ -777,8 +758,6 @@ workflows: - test-3.1 - test-3.2 # ADD NEW RUBIES HERE - # TODO: Disabled for possible removal - # - test-jruby-9.2.8.0 - test-jruby-9.2 - test-jruby-9.3 # This workflow runs the same `build` and `test` jobs as above on a schedule. @@ -941,16 +920,6 @@ workflows: requires: - build-3.2 # ADD NEW RUBIES HERE - # TODO: Disabled for possible removal - # - orb/build: - # <<: *config-jruby-9_2_8_0 - # name: build-jruby-9.2.8.0 - # edge: true - # - orb/test: - # <<: *config-jruby-9_2_8_0 - # name: test-jruby-9.2.8.0 - # requires: - # - build-jruby-9.2.8.0 - orb/build: <<: *config-jruby-9_2 name: build-jruby-9.2 diff --git a/.circleci/images/primary/Dockerfile-jruby-9.2.8.0 b/.circleci/images/primary/Dockerfile-jruby-9.2.8.0 deleted file mode 100644 index ab2d9c576b4..00000000000 --- a/.circleci/images/primary/Dockerfile-jruby-9.2.8.0 +++ /dev/null @@ -1,119 +0,0 @@ -# Note: -# -# There is an incompatibility between ethon and httprb on debian 11 bullseye. -# This is why this image is based on debian 10 buster. -# -# See: -# - https://github.com/jruby/jruby/issues/7033 -# - https://github.com/DataDog/dd-trace-rb/pull/2380#issuecomment-1320994823 - -# Note: See the "Publishing updates to images" note in ./README.md for how to publish new builds of this container image - -# taken from https://github.com/jruby/docker-jruby/blob/5de2f8fd4c518cfb621be236fe7e9732c77b6129/9000/jre/Dockerfile -# openjdk:8-jre image is from https://github.com/docker-library/openjdk/blob/a0c4da867ddd1a11408b7ec5032f12130bdc5476/8/jre/bullseye/Dockerfile -# note: docker-library/openjdk is deprecated, there is a later move to https://hub.docker.com/_/eclipse-temurin -FROM openjdk:8-jre-buster AS jruby-9.2.8.0-jre8 - -RUN apt-get update && apt-get install -y libc6-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* - -ENV JRUBY_VERSION 9.2.8.0 -ENV JRUBY_SHA256 b7c58688093f54acd89d732a8bf40e3ae0ac4c92488d6f5b424c33e4fb09c7bb -RUN mkdir /opt/jruby \ - && curl -fSL https://repo1.maven.org/maven2/org/jruby/jruby-dist/${JRUBY_VERSION}/jruby-dist-${JRUBY_VERSION}-bin.tar.gz -o /tmp/jruby.tar.gz \ - && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \ - && tar -zx --strip-components=1 -f /tmp/jruby.tar.gz -C /opt/jruby \ - && rm /tmp/jruby.tar.gz \ - && update-alternatives --install /usr/local/bin/ruby ruby /opt/jruby/bin/jruby 1 -ENV PATH /opt/jruby/bin:$PATH - -# skip installing gem documentation -RUN mkdir -p /opt/jruby/etc \ - && { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /opt/jruby/etc/gemrc - -RUN gem install rake net-telnet xmlrpc - -# install things globally, for great justice -# and don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_BIN="$GEM_HOME/bin" \ - BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $BUNDLE_BIN:$PATH -RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \ - && chmod 777 "$GEM_HOME" "$BUNDLE_BIN" - -CMD [ "irb" ] - -FROM jruby-9.2.8.0-jre8 - -# Make apt non-interactive -RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \ - && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci - -ENV DEBIAN_FRONTEND=noninteractive - -# Install required packages -RUN set -ex; \ - apt-get update; \ - mkdir -p /usr/share/man/man1; \ - apt-get install -y --no-install-recommends \ - git mercurial xvfb \ - locales sudo openssh-client ca-certificates tar gzip parallel \ - net-tools netcat unzip zip bzip2 gnupg curl wget \ - tzdata rsync vim less jq \ - build-essential; \ - rm -rf /var/lib/apt/lists/*; - -# Set timezone to UTC by default -RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime - -# Set language -RUN locale-gen en_US.UTF-8 -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en - -# Install Docker -RUN set -ex \ - && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/$(arch)/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \ - && DOCKER_URL="https://download.docker.com/linux/static/stable/$(arch)/${DOCKER_VERSION}" \ - && echo DOCKER_URL: $DOCKER_URL \ - && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \ - && ls -lha /tmp/docker.tgz \ - && tar -xz -C /tmp -f /tmp/docker.tgz \ - && mv /tmp/docker/* /usr/bin \ - && rm -rf /tmp/docker /tmp/docker.tgz \ - && which docker \ - && (docker version || true) - -# Install Docker Compose -RUN COMPOSE_URL="https://github.com/linuxserver/docker-docker-compose/releases/download/1.29.2-ls51/docker-compose-$(dpkg --print-architecture)" \ - && echo COMPOSE_URL: $COMPOSE_URL \ - && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \ - && chmod +x /usr/bin/docker-compose \ - && docker-compose version - -# Install Dockerize -RUN DOCKERIZE_URL="https://github.com/powerman/dockerize/releases/download/v0.17.0/dockerize-$(uname -s | tr '[:upper:]' '[:lower:]')-$(arch | sed 's/aarch64/arm64/')" \ - && echo DOCKERIZE_URL: $DOCKERIZE_URL \ - && curl --silent --show-error --location --fail --retry 3 --output /usr/local/bin/dockerize $DOCKERIZE_URL \ - && chmod +x /usr/local/bin/dockerize \ - && dockerize --version - -# Install RubyGems -RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME" - -# Upgrade RubyGems and Bundler -RUN gem update --system 3.3.6 -RUN gem install bundler -v '= 2.3.6' # pinned because of https://github.com/DataDog/dd-trace-rb/issues/2443 -ENV BUNDLE_SILENCE_ROOT_WARNING 1 - -# Ensure JRuby is available when running "bash --login" -RUN echo "export PATH=/opt/jruby/bin:$BUNDLE_BIN:\$PATH" >> ~/.profile - -RUN mkdir /app -WORKDIR /app - -CMD ["/bin/sh"] diff --git a/.github/workflows/build-ruby.yml b/.github/workflows/build-ruby.yml index 22dda1779c5..1acfe006c13 100644 --- a/.github/workflows/build-ruby.yml +++ b/.github/workflows/build-ruby.yml @@ -54,10 +54,6 @@ jobs: - engine: jruby version: 9.2.21.0 dockerfile: Dockerfile-jruby-9.2.21.0 - # TODO: Disabled for possible removal - # - engine: jruby - # version: 9.2.8.0 - # dockerfile: Dockerfile-jruby-9.2.8.0 - engine: jruby version: 9.3.9.0 dockerfile: Dockerfile-jruby-9.3.9.0 diff --git a/docker-compose.yml b/docker-compose.yml index 9ff20920008..ea46c8c0366 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -264,31 +264,6 @@ services: - bundle-3.2:/usr/local/bundle - "ddagent_var_run:${TEST_DDAGENT_VAR_RUN}" # ADD NEW RUBIES HERE - # JRuby - # TODO: Disabled for possible removal - # tracer-jruby-9.2.8.0: - # image: ghcr.io/datadog/dd-trace-rb/jruby:9.2.8.0-dd - # command: /bin/bash - # depends_on: - # - ddagent - # - elasticsearch - # - memcached - # - mongodb - # - mysql - # - postgres - # - presto - # - redis - # - redis_old - # env_file: ./.env - # environment: - # <<: *common-environment - # BUNDLE_GEMFILE: /app/Gemfile-jruby-9.2.8.0 - # stdin_open: true - # tty: true - # volumes: - # - .:/app - # - bundle-jruby-9.2.8.0:/usr/local/bundle - # - "ddagent_var_run:${TEST_DDAGENT_VAR_RUN}" tracer-jruby-9.2: image: ghcr.io/datadog/dd-trace-rb/jruby:9.2.21.0-dd command: /bin/bash @@ -454,7 +429,6 @@ volumes: bundle-3.1: bundle-3.2: # ADD NEW RUBIES HERE - #bundle-jruby-9.2.8.0: # TODO: Disabled for possible removal bundle-jruby-9.2: bundle-jruby-9.3: bundle-jruby-9.4: diff --git a/tasks/appraisal.rake b/tasks/appraisal.rake index 305b3b22da3..8da0a5dcc9b 100644 --- a/tasks/appraisal.rake +++ b/tasks/appraisal.rake @@ -53,7 +53,6 @@ namespace :appraisal do # rubocop:disable Metrics/BlockLength '3.0' => '3.0.4', '3.1' => '3.1.2', '3.2' => '3.2.0', - 'jruby-9.2.8.0' => 'jruby-9.2.8.0', 'jruby-9.2' => 'jruby-9.2.21.0', 'jruby-9.3' => 'jruby-9.3.9.0', 'jruby-9.4' => 'jruby-9.4.0.0', @@ -162,7 +161,6 @@ TRACER_VERSIONS = [ '3.0', '3.1', '3.2', - # 'jruby-9.2.8.0', # TODO: disabled for possible removal 'jruby-9.2', 'jruby-9.3', 'jruby-9.4',