Skip to content

Commit 3d029c5

Browse files
committed
Add dedicated workflow for 'all' instrumentation meta-package
- Created ci-instrumentation-all.yml to handle the 'all' instrumentation - This workflow triggers on any instrumentation/** or helpers/** changes - Removed 'all' from ci-instrumentation.yml to avoid duplication - Ensures 'all' instrumentation tests run for any instrumentation change as required for merging while maintaining CI optimization benefits
1 parent 3aeef34 commit 3d029c5

File tree

2 files changed

+84
-3
lines changed

2 files changed

+84
-3
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: CI Instrumentation All
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
paths:
9+
- 'instrumentation/**'
10+
- 'helpers/**'
11+
- '.github/workflows/ci-instrumentation-all.yml'
12+
- '.github/actions/**'
13+
- 'Gemfile'
14+
- 'Rakefile'
15+
- '.rubocop.yml'
16+
- 'gemspecs/**'
17+
pull_request:
18+
branches:
19+
- main
20+
paths:
21+
- 'instrumentation/**'
22+
- 'helpers/**'
23+
- '.github/workflows/ci-instrumentation-all.yml'
24+
- '.github/actions/**'
25+
- 'Gemfile'
26+
- 'Rakefile'
27+
- '.rubocop.yml'
28+
- 'gemspecs/**'
29+
schedule:
30+
- cron: "0 0 * * *"
31+
32+
permissions:
33+
contents: read
34+
35+
concurrency:
36+
group: ${{ github.workflow }}-${{ github.event.pull_request.number }} # Ensure that only one instance of this workflow is running per Pull Request
37+
cancel-in-progress: true # Cancel any previous runs of this workflow
38+
39+
jobs:
40+
instrumentation_all:
41+
strategy:
42+
fail-fast: false
43+
matrix:
44+
gem:
45+
- all
46+
os:
47+
- ubuntu-latest
48+
49+
name: ${{ matrix.gem }} / ${{ matrix.os }}
50+
runs-on: ${{ matrix.os }}
51+
steps:
52+
- uses: actions/checkout@v5
53+
- name: "Test Ruby 3.4"
54+
uses: ./.github/actions/test_gem
55+
with:
56+
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
57+
ruby: "3.4"
58+
- name: "Test Ruby 3.3"
59+
uses: ./.github/actions/test_gem
60+
with:
61+
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
62+
ruby: "3.3"
63+
- name: "Test Ruby 3.2"
64+
uses: ./.github/actions/test_gem
65+
with:
66+
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
67+
ruby: "3.2"
68+
yard: true
69+
rubocop: true
70+
coverage: true
71+
build: true
72+
- name: "JRuby Filter"
73+
id: jruby_skip
74+
shell: bash
75+
run: |
76+
echo "skip=false" >> $GITHUB_OUTPUT
77+
# The 'all' instrumentation should work with JRuby
78+
true
79+
- name: "Test JRuby"
80+
if: "${{ matrix.os == 'ubuntu-latest' && steps.jruby_skip.outputs.skip == 'false' }}"
81+
uses: ./.github/actions/test_gem
82+
with:
83+
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
84+
ruby: "jruby-10.0.2.0"

.github/workflows/ci-instrumentation.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ on:
1414
- 'instrumentation/active_record/**'
1515
- 'instrumentation/active_storage/**'
1616
- 'instrumentation/active_support/**'
17-
- 'instrumentation/all/**'
1817
- 'instrumentation/aws_sdk/**'
1918
- 'instrumentation/aws_lambda/**'
2019
- 'instrumentation/base/**'
@@ -58,7 +57,6 @@ on:
5857
- 'instrumentation/active_record/**'
5958
- 'instrumentation/active_storage/**'
6059
- 'instrumentation/active_support/**'
61-
- 'instrumentation/all/**'
6260
- 'instrumentation/aws_sdk/**'
6361
- 'instrumentation/aws_lambda/**'
6462
- 'instrumentation/base/**'
@@ -114,7 +112,6 @@ jobs:
114112
- active_record
115113
- active_storage
116114
- active_support
117-
- all
118115
- aws_sdk
119116
- aws_lambda
120117
- base

0 commit comments

Comments
 (0)