1818 - name : Install MATLAB
1919 uses : matlab-actions/setup-matlab@v2
2020 with :
21+ release : R2025a
2122 products : MATLAB_Compiler
2223 - name : Build OpenTelemetry-Matlab
2324 working-directory : opentelemetry-matlab
4647 - name : Install MATLAB
4748 uses : matlab-actions/setup-matlab@v2
4849 with :
50+ release : R2025a
4951 products : MATLAB_Compiler
5052 - name : Build OpenTelemetry-Matlab
5153 working-directory : opentelemetry-matlab
7981 - name : Install MATLAB
8082 uses : matlab-actions/setup-matlab@v2
8183 with :
84+ release : R2025a
8285 products : MATLAB_Compiler
8386 - name : Build OpenTelemetry-Matlab
8487 working-directory : opentelemetry-matlab
88+ env :
89+ CMAKE_POLICY_VERSION_MINIMUM : 3.5 # required by upb because its cmake requirement is not compatible with cmake 4
8590 run : |
8691 cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=ON -DWITH_OTLP_FILE=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
8792 cmake --build build --config Release --target install
9398 with :
9499 name : otel-matlab-${{ matrix.os }}.tar.gz
95100 path : ${{ github.workspace }}/otel-matlab-${{ matrix.os }}.tar.gz
101+ nogrpc-ubuntu : # without gRPC exporter
102+ runs-on : ubuntu-22.04
103+ env :
104+ OPENTELEMETRY_MATLAB_INSTALL : " ${{ github.workspace }}/otel_matlab_install"
105+ steps :
106+ - name : Download OpenTelemetry-Matlab source
107+ uses : actions/checkout@v3
108+ with :
109+ path : opentelemetry-matlab
110+ - name : Install ninja-build
111+ run : sudo apt-get install ninja-build
112+ - name : Install MATLAB
113+ uses : matlab-actions/setup-matlab@v2
114+ with :
115+ release : R2025a
116+ products : MATLAB_Compiler
117+ - name : Build OpenTelemetry-Matlab
118+ working-directory : opentelemetry-matlab
119+ run : |
120+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_FILE=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
121+ cmake --build build --config Release --target install
122+ - name : Compress into single artifact
123+ working-directory : ${{ github.workspace }}
124+ run : tar -czf otel-matlab-nogrpc-ubuntu.tar.gz otel_matlab_install
125+ - name : Upload artifacts
126+ uses : actions/upload-artifact@v4
127+ with :
128+ name : otel-matlab-nogrpc-ubuntu.tar.gz
129+ path : ${{ github.workspace }}/otel-matlab-nogrpc-ubuntu.tar.gz
130+ nogrpc-windows : # without gRPC exporter
131+ runs-on : windows-latest
132+ env :
133+ OPENTELEMETRY_MATLAB_INSTALL : " ${{ github.workspace }}/otel_matlab_install"
134+ steps :
135+ - name : Download OpenTelemetry-Matlab source
136+ uses : actions/checkout@v3
137+ with :
138+ path : opentelemetry-matlab
139+ - name : Install ninja-build
140+ run : choco install ninja
141+ - name : Install MATLAB
142+ uses : matlab-actions/setup-matlab@v2
143+ with :
144+ release : R2025a
145+ products : MATLAB_Compiler
146+ - name : Build OpenTelemetry-Matlab
147+ working-directory : opentelemetry-matlab
148+ shell : cmd
149+ run : |
150+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
151+ cmake -S . -B build -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_FILE=ON -DFETCH_VCPKG=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
152+ cmake --build build --config Release --target install
153+ - name : Compress into single artifact
154+ working-directory : ${{ github.workspace }}
155+ run : tar -czf otel-matlab-nogrpc-windows.tar.gz otel_matlab_install
156+ - name : Upload artifacts
157+ uses : actions/upload-artifact@v4
158+ with :
159+ name : otel-matlab-nogrpc-windows.tar.gz
160+ path : ${{ github.workspace }}/otel-matlab-nogrpc-windows.tar.gz
161+ nogrpc-macos : # without gRPC exporter
162+ runs-on : ${{ matrix.os }}
163+ strategy :
164+ matrix :
165+ os : [macos-13, macos-14] # runs on Mac with both Intel (macos-13) and Apple Silicon (macos-14) processors
166+ env :
167+ OPENTELEMETRY_MATLAB_INSTALL : " ${{ github.workspace }}/otel_matlab_install"
168+ steps :
169+ - name : Download OpenTelemetry-Matlab source
170+ uses : actions/checkout@v3
171+ with :
172+ path : opentelemetry-matlab
173+ - name : Install ninja-build
174+ run : brew install ninja
175+ - name : Install MATLAB
176+ uses : matlab-actions/setup-matlab@v2
177+ with :
178+ release : R2025a
179+ products : MATLAB_Compiler
180+ - name : Build OpenTelemetry-Matlab
181+ working-directory : opentelemetry-matlab
182+ run : |
183+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_FILE=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
184+ cmake --build build --config Release --target install
185+ - name : Compress into single artifact
186+ working-directory : ${{ github.workspace }}
187+ run : tar -czf otel-matlab-nogrpc-${{ matrix.os }}.tar.gz otel_matlab_install
188+ - name : Upload artifacts
189+ uses : actions/upload-artifact@v4
190+ with :
191+ name : otel-matlab-nogrpc-${{ matrix.os }}.tar.gz
192+ path : ${{ github.workspace }}/otel-matlab-nogrpc-${{ matrix.os }}.tar.gz
96193 package-mltbx :
97194 name : Package MATLAB Toolbox (MLTBX) Files
98195 runs-on : ubuntu-22.04
@@ -102,8 +199,13 @@ jobs:
102199 - build-ubuntu
103200 - build-windows
104201 - build-macos
202+ - nogrpc-ubuntu
203+ - nogrpc-windows
204+ - nogrpc-macos
105205 env :
106206 OPENTELEMETRY_MATLAB_INSTALL : " ${{ github.workspace }}/otel_matlab_install"
207+ WITHGRPC_FOLDER : " ${{ github.workspace }}/withgrpc"
208+ NOGRPC_FOLDER : " ${{ github.workspace }}/nogrpc"
107209 steps :
108210 - name : Checkout OpenTelemetry-Matlab
109211 uses : actions/checkout@v3
@@ -115,26 +217,61 @@ jobs:
115217 path : artifacts-downloaded
116218 - name : Decompress Artifacts
117219 run : |
118- mv artifacts-downloaded/*/*.tar.gz .
220+ mkdir $WITHGRPC_FOLDER
221+ cd $WITHGRPC_FOLDER
222+ mv ../artifacts-downloaded/*/otel-matlab-ubuntu.tar.gz .
223+ mv ../artifacts-downloaded/*/otel-matlab-macos*.tar.gz .
224+ mv ../artifacts-downloaded/*/otel-matlab-windows.tar.gz .
119225 tar -xzvf otel-matlab-ubuntu.tar.gz
120226 tar -xzvf otel-matlab-macos-13.tar.gz
121227 tar -xzvf otel-matlab-macos-14.tar.gz
122228 tar -xzvf otel-matlab-windows.tar.gz
229+ - name : Decompress Artifacts without gRPC exporter
230+ run : |
231+ mkdir $NOGRPC_FOLDER
232+ cd $NOGRPC_FOLDER
233+ mv ../artifacts-downloaded/*/*nogrpc*.tar.gz .
234+ tar -xzvf otel-matlab-nogrpc-ubuntu.tar.gz
235+ tar -xzvf otel-matlab-nogrpc-macos-13.tar.gz
236+ tar -xzvf otel-matlab-nogrpc-macos-14.tar.gz
237+ tar -xzvf otel-matlab-nogrpc-windows.tar.gz
123238 - name : Install MATLAB
124- uses : matlab-actions/setup-matlab@v1
125- - name : Run commands
239+ uses : matlab-actions/setup-matlab@v2
240+ with :
241+ release : R2025a
242+ - name : Package Toolbox
243+ env :
244+ MATLABPATH : OpenTelemetry-Matlab/tools
245+ WORKING_FOLDER : ${{ env.WITHGRPC_FOLDER }}
246+ OTEL_MATLAB_TOOLBOX_FOLDER : otel_matlab_install
247+ OTEL_MATLAB_TOOLBOX_OUTPUT_FOLDER : ${{ env.WITHGRPC_FOLDER }}
248+ OTEL_MATLAB_TOOLBOX_VERSION : ${{ github.ref_name }}
249+ OTEL_MATLAB_TOOLBOX_NAME : otel-matlab
250+ uses : matlab-actions/run-command@v1
251+ with :
252+ command : packageMatlabInterface
253+ - name : Package Toolbox without gRPC exporter
126254 env :
127255 MATLABPATH : OpenTelemetry-Matlab/tools
256+ WORKING_FOLDER : ${{ env.NOGRPC_FOLDER }}
128257 OTEL_MATLAB_TOOLBOX_FOLDER : otel_matlab_install
129- OTEL_MATLAB_TOOLBOX_OUTPUT_FOLDER :
258+ OTEL_MATLAB_TOOLBOX_OUTPUT_FOLDER : ${{ env.NOGRPC_FOLDER }}
130259 OTEL_MATLAB_TOOLBOX_VERSION : ${{ github.ref_name }}
260+ OTEL_MATLAB_TOOLBOX_NAME : otel-matlab-nogrpc
131261 uses : matlab-actions/run-command@v1
132262 with :
133263 command : packageMatlabInterface
264+ - name : Compress Toolbox without gRPC exporter
265+ working-directory : ${{ env.NOGRPC_FOLDER }}
266+ run : tar -czf otel-matlab-nogrpc.mltbx.tar.gz otel-matlab-nogrpc.mltbx
134267 - name : Create release
135268 uses : softprops/action-gh-release@v2
269+ # Upload toolbox without gRPC exporter in compressed format
270+ # This is to avoid multiple .mltbx files, which will cause issues in MATLAB File Exchange
136271 with :
137- files : ./otel-matlab.mltbx
272+ files : |
273+ ${{ env.WITHGRPC_FOLDER }}/otel-matlab.mltbx
274+ ${{ env.NOGRPC_FOLDER }}/otel-matlab-nogrpc.mltbx.tar.gz
138275 name : " Version ${{ github.ref_name }}"
139276 fail_on_unmatched_files : true
140277 generate_release_notes : false
0 commit comments