Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Ruby 3.4.0-preview2 support for integration apps #4038

Merged
merged 3 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions integration/apps/opentelemetry/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-opentelemetry .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-opentelemetry .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-opentelemetry .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-opentelemetry .
# ADD NEW RUBIES HERE
fi
echo "== Done building Ruby app images. =="
1 change: 1 addition & 0 deletions integration/apps/rack/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-rack .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-rack .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-rack .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-rack .
# ADD NEW RUBIES HERE
fi
echo "== Done building Rack images. =="
5 changes: 5 additions & 0 deletions integration/apps/rails-five/script/ci
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ if [[ "$APP_RUBY_VERSION" == "3.3" ]]; then
exit 1
fi

if [[ "$APP_RUBY_VERSION" == "3.4" ]]; then
echo "Ruby 3.4 is not supported by Rails 5"
exit 1
fi

# ADD NEW RUBIES HERE

# Set configuration
Expand Down
4 changes: 4 additions & 0 deletions integration/apps/rails-seven/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,7 @@ group :development do
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
# gem "spring"
end

# Gems no longer included in Ruby 3.4
gem 'bigdecimal'
gem 'mutex_m'
1 change: 1 addition & 0 deletions integration/apps/rails-seven/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-rails-seven .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-rails-seven .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-rails-seven .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-rails-seven .
# ADD NEW RUBIES HERE
fi
echo "== Done building Rails 7 images. =="
3 changes: 3 additions & 0 deletions integration/apps/rails-six/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,6 @@ group :test, :development do

gem 'listen'
end

# Gem no longer included in Ruby 3.4
gem 'mutex_m'
1 change: 1 addition & 0 deletions integration/apps/rails-six/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-rails-six .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-rails-six .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-rails-six .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-rails-six .
# ADD NEW RUBIES HERE
fi
echo "== Done building Rails 6 images. =="
1 change: 1 addition & 0 deletions integration/apps/rspec/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-rspec .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-rspec .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-rspec .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-rspec .
# ADD NEW RUBIES HERE
fi
echo "== Done building Ruby app images. =="
1 change: 1 addition & 0 deletions integration/apps/ruby/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-ruby .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-ruby .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-ruby .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-ruby .
# ADD NEW RUBIES HERE
fi
echo "== Done building Ruby app images. =="
1 change: 1 addition & 0 deletions integration/apps/sinatra2-classic/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-sinatra2-classic .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-sinatra2-classic .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-sinatra2-classic .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-sinatra2-classic .
# ADD NEW RUBIES HERE
fi
echo "== Done building Sinatra images. =="
1 change: 1 addition & 0 deletions integration/apps/sinatra2-modular/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ else
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.1 -t datadog/dd-apm-demo:rb-3.1-sinatra2-modular .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.2 -t datadog/dd-apm-demo:rb-3.2-sinatra2-modular .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.3 -t datadog/dd-apm-demo:rb-3.3-sinatra2-modular .
docker build --build-arg BASE_IMAGE=datadog/dd-apm-demo:rb-3.4 -t datadog/dd-apm-demo:rb-3.4-sinatra2-modular .
# ADD NEW RUBIES HERE
fi
echo "== Done building Sinatra images. =="
54 changes: 54 additions & 0 deletions integration/images/ruby/3.4/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
FROM ruby:3.4.0-preview2

ENV DEBIAN_FRONTEND=noninteractive

# Install prerequisites
RUN set -ex && \
echo "===> Installing dependencies" && \
apt-get -y update && \
apt-get install -y --force-yes --no-install-recommends \
curl wget tar gzip gnupg apt-transport-https ca-certificates tzdata locales && \
\
echo "===> Installing NodeJS" && \
apt-get install -y --force-yes --no-install-recommends nodejs && \
\
echo "===> Installing Yarn" && \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
apt-get update && \
apt-get install -y --force-yes --no-install-recommends yarn && \
\
echo "===> Installing database libraries" && \
apt-get install -y --force-yes --no-install-recommends \
postgresql-client sqlite3 && \
\
echo "===> Installing dev tools" && \
mkdir -p /usr/share/man/man1 && \
apt-get install -y --force-yes --no-install-recommends \
sudo git openssh-client rsync vim \
net-tools netcat-openbsd parallel unzip zip bzip2 && \
\
echo "===> Cleaning up" && \
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 RubyGems
RUN gem update --system 3.4.1
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"

# Upgrade RubyGems and Bundler
RUN gem update --system 3.4.1
RUN gem install bundler
ENV BUNDLE_SILENCE_ROOT_WARNING 1

# Setup demo environment includes
COPY ./include /vendor/dd-demo
ENV RUBYLIB /vendor/dd-demo
ENV RUBYOPT -rdatadog/demo_env
1 change: 1 addition & 0 deletions integration/script/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ else
docker build -t datadog/dd-apm-demo:rb-3.1 -f $INTEGRATION_DIR/images/ruby/3.1/Dockerfile $INTEGRATION_DIR/images
docker build -t datadog/dd-apm-demo:rb-3.2 -f $INTEGRATION_DIR/images/ruby/3.2/Dockerfile $INTEGRATION_DIR/images
docker build -t datadog/dd-apm-demo:rb-3.3 -f $INTEGRATION_DIR/images/ruby/3.3/Dockerfile $INTEGRATION_DIR/images
docker build -t datadog/dd-apm-demo:rb-3.4 -f $INTEGRATION_DIR/images/ruby/3.4/Dockerfile $INTEGRATION_DIR/images
# ADD NEW RUBIES HERE
fi
echo "== Done building base images. =="
Loading