Skip to content

feat: add gem for auto-instrumentation in otel-operator #5284

feat: add gem for auto-instrumentation in otel-operator

feat: add gem for auto-instrumentation in otel-operator #5284

Workflow file for this run

name: CI Contrib
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }} # Ensure that only one instance of this workflow is running per Pull Request
cancel-in-progress: true # Cancel any previous runs of this workflow
jobs:
helpers:
strategy:
fail-fast: false
matrix:
gem:
- sql
- mysql
- sql-obfuscation
os:
- ubuntu-latest
name: "helpers-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- 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"
- name: "Test Ruby 3.2"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-helpers-${{ matrix.gem }}"
ruby: "3.2"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-helpers-${{ matrix.gem }}"
ruby: "3.1"
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-9.4.12.0"
propagators:
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@v4
- 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"
- name: "Test Ruby 3.2"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "3.2"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "3.1"
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-9.4.12.0"
resource-detectors:
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@v4
- 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"
- name: "Test Ruby 3.2"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "3.2"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "3.1"
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-9.4.12.0"
processors:
strategy:
fail-fast: false
matrix:
gem:
- baggage
os:
- ubuntu-latest
name: "processors-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- 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"
- name: "Test Ruby 3.2"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-processor-${{ matrix.gem }}"
ruby: "3.2"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-processor-${{ matrix.gem }}"
ruby: "3.1"
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-9.4.12.0"
samplers:
strategy:
fail-fast: false
matrix:
gem:
- xray
os:
- ubuntu-latest
name: "samplers-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- 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"
- name: "Test Ruby 3.2"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-sampler-${{ matrix.gem }}"
ruby: "3.2"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-sampler-${{ matrix.gem }}"
ruby: "3.1"
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-9.4.12.0"
auto-instrumentation:
name: "auto-instrumentation / ubuntu-latest"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Test Ruby 3.4"
uses: ruby/[email protected]
with:
ruby-version: "3.4"
- name: Test Gem
shell: bash
run: |
bundle install --quiet --jobs=3 --retry=4
bundle exec rake test
rm -f Gemfile.lock
working-directory: './opentelemetry-auto-instrumentation'
- name: "Test Ruby 3.3"
uses: ruby/[email protected]
with:
ruby-version: "3.3"
- name: Test Gem
shell: bash
run: |
bundle install --quiet --jobs=3 --retry=4
bundle exec rake test
rm -f Gemfile.lock
working-directory: './opentelemetry-auto-instrumentation'
- name: "Test Ruby 3.2"
uses: ruby/[email protected]
with:
ruby-version: "3.2"
- name: Test Gem
shell: bash
run: |
bundle install --quiet --jobs=3 --retry=4
bundle exec rake test
rm -f Gemfile.lock
working-directory: './opentelemetry-auto-instrumentation'
- name: YARD
shell: bash
run: |
# 📄 Yard Docs 📄
bundle exec rake yard
working-directory: './opentelemetry-auto-instrumentation'
- name: Rubocop
shell: bash
run: |
# 🤖 Rubocop 🤖
bundle exec rake rubocop
working-directory: './opentelemetry-auto-instrumentation'
- name: Coverage
shell: bash
run: |
bundle exec ruby -e 'require "simplecov"; SimpleCov.minimum_coverage(85)'
working-directory: './opentelemetry-auto-instrumentation'
- name: Build Gem
shell: bash
run: |
# 📦 Build Gem 📦
gem build opentelemetry-auto-instrumentation.gemspec
working-directory: './opentelemetry-auto-instrumentation'