Skip to content

feat!: Min Ruby Version 3.3 #6775

feat!: Min Ruby Version 3.3

feat!: Min Ruby Version 3.3 #6775

Workflow file for this run

name: CI Contrib
on:
workflow_dispatch:
push:
branches:
- main
paths: &path_filters
- "helpers/**"
- "propagator/**"
- "resources/**"
- "processor/**"
- "sampler/**"
- ".github/workflows/ci-contrib.yml"
- ".github/actions/**"
- "Gemfile"
- "Rakefile"
- ".rubocop.yml"
- "gemspecs/**"
pull_request:
branches:
- main
paths: *path_filters
merge_group:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} # Ensure that only one instance of this workflow is running per event type and ref
cancel-in-progress: true # Cancel any previous runs of this workflow for the same event type and ref
jobs:
helpers:
if: ${{ github.repository == 'open-telemetry/opentelemetry-ruby-contrib' }}
strategy:
fail-fast: false
matrix:
gem:
- sql
- mysql
- sql-processor
os:
- ubuntu-latest
name: "helpers-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: "Test Ruby 4.0"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-helpers-${{ matrix.gem }}"
ruby: "4.0"
- name: "Test Ruby 3.4"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-helpers-${{ matrix.gem }}"
ruby: "3.4"
- name: "Test Ruby 3.3"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-helpers-${{ matrix.gem }}"
ruby: "3.3"
yard: true
rubocop: true
coverage: true
build: true
- name: "Test JRuby"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-helpers-${{ matrix.gem }}"
ruby: "jruby-10.0.2.0"
propagators:
if: ${{ github.repository == 'open-telemetry/opentelemetry-ruby-contrib' }}
strategy:
fail-fast: false
matrix:
gem:
- ottrace
- vitess
- xray
- google_cloud_trace_context
os:
- ubuntu-latest
name: "propagator-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: "Test Ruby 4.0"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "4.0"
- name: "Test Ruby 3.4"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "3.4"
- name: "Test Ruby 3.3"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "3.3"
yard: true
rubocop: true
build: true
- name: "Test JRuby"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "jruby-10.0.2.0"
resource-detectors:
if: ${{ github.repository == 'open-telemetry/opentelemetry-ruby-contrib' }}
strategy:
fail-fast: false
matrix:
gem:
- resource-detector-aws
- resource-detector-azure
- resource-detector-container
- resource-detector-google_cloud_platform
os:
- ubuntu-latest
name: "opentelemetry-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: "Test Ruby 4.0"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "4.0"
- name: "Test Ruby 3.4"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "3.4"
- name: "Test Ruby 3.3"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "3.3"
yard: true
rubocop: true
coverage: true
build: true
- name: "Test JRuby"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "jruby-10.0.2.0"
processors:
if: ${{ github.repository == 'open-telemetry/opentelemetry-ruby-contrib' }}
strategy:
fail-fast: false
matrix:
gem:
- baggage
os:
- ubuntu-latest
name: "processors-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: "Test Ruby 4.0"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-processor-${{ matrix.gem }}"
ruby: "4.0"
- name: "Test Ruby 3.4"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-processor-${{ matrix.gem }}"
ruby: "3.4"
- name: "Test Ruby 3.3"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-processor-${{ matrix.gem }}"
ruby: "3.3"
yard: true
rubocop: true
coverage: true
build: true
- name: "Test JRuby"
if: "${{ matrix.os == 'ubuntu-latest' && steps.jruby_skip.outputs.skip == 'false' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-processor-${{ matrix.gem }}"
ruby: "jruby-10.0.2.0"
samplers:
if: ${{ github.repository == 'open-telemetry/opentelemetry-ruby-contrib' }}
strategy:
fail-fast: false
matrix:
gem:
- xray
os:
- ubuntu-latest
name: "samplers-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: "Test Ruby 4.0"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-sampler-${{ matrix.gem }}"
ruby: "4.0"
- name: "Test Ruby 3.4"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-sampler-${{ matrix.gem }}"
ruby: "3.4"
- name: "Test Ruby 3.3"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-sampler-${{ matrix.gem }}"
ruby: "3.3"
yard: true
rubocop: true
coverage: true
build: true
- name: "Test JRuby"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-sampler-${{ matrix.gem }}"
ruby: "jruby-10.0.2.0"