Skip to content

Random batch

Random batch #195

Workflow file for this run

# Please do NOT manually edit this file.
# This file is generated by 'bundle exec rake github:actions:test_template'
---
name: Unit Tests
'on':
push:
branches:
- master
- poc/**
schedule:
- cron: 0 7 * * *
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: "${{ github.ref != 'refs/heads/master' }}"
jobs:
batch-ruby-34:
runs-on: ubuntu-24.04
name: Batch ruby-3.4
outputs:
ruby-34-batches: "${{ steps.set-batches.outputs.ruby-34-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:3.4
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-34-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-34-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-34-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-34:
needs:
- batch-ruby-34
runs-on: ubuntu-24.04
name: Build & Test ruby-3.4[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-34.outputs.ruby-34-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:3.4
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-34-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-34-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-ruby-33:
runs-on: ubuntu-24.04
name: Batch ruby-3.3
outputs:
ruby-33-batches: "${{ steps.set-batches.outputs.ruby-33-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:3.3
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-33-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-33-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-33-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-33:
needs:
- batch-ruby-33
runs-on: ubuntu-24.04
name: Build & Test ruby-3.3[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-33.outputs.ruby-33-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:3.3
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-33-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-33-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-ruby-32:
runs-on: ubuntu-24.04
name: Batch ruby-3.2
outputs:
ruby-32-batches: "${{ steps.set-batches.outputs.ruby-32-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:3.2
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-32-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-32-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-32-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-32:
needs:
- batch-ruby-32
runs-on: ubuntu-24.04
name: Build & Test ruby-3.2[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-32.outputs.ruby-32-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:3.2
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-32-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-32-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-ruby-31:
runs-on: ubuntu-24.04
name: Batch ruby-3.1
outputs:
ruby-31-batches: "${{ steps.set-batches.outputs.ruby-31-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:3.1
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-31-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-31-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-31-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-31:
needs:
- batch-ruby-31
runs-on: ubuntu-24.04
name: Build & Test ruby-3.1[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-31.outputs.ruby-31-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:3.1
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-31-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-31-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-ruby-30:
runs-on: ubuntu-24.04
name: Batch ruby-3.0
outputs:
ruby-30-batches: "${{ steps.set-batches.outputs.ruby-30-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:3.0
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-30-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-30-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-30-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-30:
needs:
- batch-ruby-30
runs-on: ubuntu-24.04
name: Build & Test ruby-3.0[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-30.outputs.ruby-30-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:3.0
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-30-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-30-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-ruby-27:
runs-on: ubuntu-24.04
name: Batch ruby-2.7
outputs:
ruby-27-batches: "${{ steps.set-batches.outputs.ruby-27-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:2.7
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-27-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-27-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-27-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-27:
needs:
- batch-ruby-27
runs-on: ubuntu-24.04
name: Build & Test ruby-2.7[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-27.outputs.ruby-27-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:2.7
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-27-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-27-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-ruby-26:
runs-on: ubuntu-24.04
name: Batch ruby-2.6
outputs:
ruby-26-batches: "${{ steps.set-batches.outputs.ruby-26-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:2.6
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-26-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-26-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-26-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-26:
needs:
- batch-ruby-26
runs-on: ubuntu-24.04
name: Build & Test ruby-2.6[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-26.outputs.ruby-26-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:2.6
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-26-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-26-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-ruby-25:
runs-on: ubuntu-24.04
name: Batch ruby-2.5
outputs:
ruby-25-batches: "${{ steps.set-batches.outputs.ruby-25-batches }}"
container: ghcr.io/datadog/images-rb/engines/ruby:2.5
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-ruby-25-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "ruby-25-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-ruby-25-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-ruby-25:
needs:
- batch-ruby-25
runs-on: ubuntu-24.04
name: Build & Test ruby-2.5[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-ruby-25.outputs.ruby-25-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/ruby:2.5
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-ruby-25-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-ruby-25-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-jruby-94:
runs-on: ubuntu-24.04
name: Batch jruby-9.4
outputs:
jruby-94-batches: "${{ steps.set-batches.outputs.jruby-94-batches }}"
container: ghcr.io/datadog/images-rb/engines/jruby:9.4
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-jruby-94-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "jruby-94-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-jruby-94-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-jruby-94:
needs:
- batch-jruby-94
runs-on: ubuntu-24.04
name: Build & Test jruby-9.4[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-jruby-94.outputs.jruby-94-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/jruby:9.4
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-jruby-94-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-jruby-94-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-jruby-93:
runs-on: ubuntu-24.04
name: Batch jruby-9.3
outputs:
jruby-93-batches: "${{ steps.set-batches.outputs.jruby-93-batches }}"
container: ghcr.io/datadog/images-rb/engines/jruby:9.3
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-jruby-93-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "jruby-93-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-jruby-93-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-jruby-93:
needs:
- batch-jruby-93
runs-on: ubuntu-24.04
name: Build & Test jruby-9.3[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-jruby-93.outputs.jruby-93-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/jruby:9.3
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-jruby-93-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-jruby-93-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
batch-jruby-92:
runs-on: ubuntu-24.04
name: Batch jruby-9.2
outputs:
jruby-92-batches: "${{ steps.set-batches.outputs.jruby-92-batches }}"
container: ghcr.io/datadog/images-rb/engines/jruby:9.2
steps:
- uses: actions/checkout@v4
- run: bundle lock
- uses: actions/upload-artifact@v4
with:
name: lockfile-jruby-92-${{ github.run_id }}
path: "*.lock"
- run: bundle install
- id: set-batches
run: |
batches_json=$(bundle exec rake github:generate_batches)
echo "$batches_json" | ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))'
echo "jruby-92-batches=$batches_json" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: bundle-jruby-92-${{ github.run_id }}
path: "/usr/local/bundle"
build-test-jruby-92:
needs:
- batch-jruby-92
runs-on: ubuntu-24.04
name: Build & Test jruby-9.2[${{ matrix.batch }}]
env:
BATCHED_TASKS: "${{ toJSON(matrix.tasks) }}"
strategy:
fail-fast: false
matrix:
include: "${{ fromJson(needs.batch-jruby-92.outputs.jruby-92-batches).include }}"
container:
image: ghcr.io/datadog/images-rb/engines/jruby:9.2
env:
DD_INSTRUMENTATION_TELEMETRY_ENABLED: 'false'
DD_REMOTE_CONFIGURATION_ENABLED: 'false'
TEST_POSTGRES_HOST: postgres
TEST_REDIS_HOST: redis
TEST_ELASTICSEARCH_HOST: elasticsearch
TEST_MEMCACHED_HOST: memcached
TEST_MONGODB_HOST: mongodb
TEST_MYSQL_HOST: mysql
TEST_OPENSEARCH_HOST: opensearch
TEST_OPENSEARCH_PORT: '9200'
TEST_PRESTO_HOST: presto
DD_AGENT_HOST: agent
DD_TRACE_AGENT_PORT: '9126'
DATADOG_GEM_CI: 'true'
TEST_DATADOG_INTEGRATION: '1'
services:
postgres:
image: ghcr.io/datadog/images-rb/services/postgres:9.6
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
redis:
image: ghcr.io/datadog/images-rb/services/redis:6.2
elasticsearch:
image: ghcr.io/datadog/images-rb/services/elasticsearch:8.1.3
env:
discovery.type: single-node
xpack.security.enabled: 'false'
ES_JAVA_OPTS: "-Xms750m -Xmx750m"
memcached:
image: ghcr.io/datadog/images-rb/services/memcached:1.5-alpine
mongodb:
image: ghcr.io/datadog/images-rb/services/mongo:3.6
opensearch:
image: ghcr.io/datadog/images-rb/services/opensearchproject/opensearch:2.8.0
env:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: 'true'
cluster.routing.allocation.disk.watermark.low: 3gb
cluster.routing.allocation.disk.watermark.high: 2gb
cluster.routing.allocation.disk.watermark.flood_stage: 1gb
cluster.routing.allocation.disk.threshold_enabled: 'false'
presto:
image: ghcr.io/datadog/images-rb/services/starburstdata/presto:332-e.9
mysql:
image: ghcr.io/datadog/images-rb/services/mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: mysql
MYSQL_USER: mysql
agent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.18.0
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: ruby
PORT: '9126'
DD_POOL_TRACE_CHECK_FAILURES: 'true'
DD_DISABLE_ERROR_RESPONSES: 'true'
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
steps:
- uses: actions/checkout@v4
- name: Configure Git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/download-artifact@v4
with:
name: lockfile-jruby-92-${{ github.run_id }}
- uses: actions/download-artifact@v4
with:
name: bundle-jruby-92-${{ github.run_id }}
path: "/usr/local/bundle"
- run: bundle check
- run: bundle exec rake github:run_batch_build
- run: bundle exec rake github:run_batch_tests
- if: "${{ failure() && env.RUNNER_DEBUG == '1' }}"
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
aggregate:
runs-on: ubuntu-24.04
needs:
- build-test-ruby-34
- build-test-ruby-33
- build-test-ruby-32
- build-test-ruby-31
- build-test-ruby-30
- build-test-ruby-27
- build-test-ruby-26
- build-test-ruby-25
- build-test-jruby-94
- build-test-jruby-93
- build-test-jruby-92
steps:
- run: echo "DONE!"