Skip to content

CI Contrib

CI Contrib #6012

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
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
- sql-processor
os:
- ubuntu-latest
name: "helpers-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- 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"
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:
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@v5
- 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"
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:
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@v5
- 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"
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:
strategy:
fail-fast: false
matrix:
gem:
- baggage
os:
- ubuntu-latest
name: "processors-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- 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"
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:
strategy:
fail-fast: false
matrix:
gem:
- xray
os:
- ubuntu-latest
name: "samplers-${{ matrix.gem }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- 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"
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"