Skip to content

Publish mltbx

Publish mltbx #18

Workflow file for this run

name: "Publish mltbx"
on:
workflow_dispatch:
release:
types: published
env:
MLM_LICENSE_TOKEN: ${{ secrets.MLM_LICENSE_TOKEN }}
jobs:
build-ubuntu:
# Running on ubuntu-latest would use a glibc version that is incompatible when using the built mex files on a Debian 11
# Instead, run on ubuntu-20.04
runs-on: ubuntu-20.04
env:
OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
steps:
- name: Download OpenTelemetry-Matlab source
uses: actions/checkout@v3
with:
path: opentelemetry-matlab
- name: Install ninja-build
run: sudo apt-get install ninja-build
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v2
with:
products: MATLAB_Compiler
- name: Build OpenTelemetry-Matlab
working-directory: opentelemetry-matlab
run: |
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=ON -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
cmake --build build --config Release --target install
- name: Compress into single artifact
working-directory: ${{ github.workspace }}
run: tar -czf otel-matlab-ubuntu.tar.gz otel_matlab_install
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: otel-matlab-ubuntu.tar.gz
path: ${{ github.workspace }}/otel-matlab-ubuntu.tar.gz
build-windows:
runs-on: windows-latest
env:
OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
steps:
- name: Download OpenTelemetry-Matlab source
uses: actions/checkout@v3
with:
path: opentelemetry-matlab
- name: Install ninja-build
run: choco install ninja
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v2
with:
products: MATLAB_Compiler
- name: Build OpenTelemetry-Matlab
working-directory: opentelemetry-matlab
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
cmake -S . -B build -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE=Release -DWITH_EXAMPLES=ON -DUSE_BATCH_FOR_MCC=ON -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
cmake --build build --config Release --target install -- -v
- name: Compress into single artifact
working-directory: ${{ github.workspace }}
run: tar -czf otel-matlab-windows.tar.gz otel_matlab_install
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: otel-matlab-windows.tar.gz
path: ${{ github.workspace }}/otel-matlab-windows.tar.gz
build-macos:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-13, macos-14] # runs on Mac with both Intel (macos-13) and Apple Silicon (macos-14) processors
env:
OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
steps:
- name: Download OpenTelemetry-Matlab source
uses: actions/checkout@v3
with:
path: opentelemetry-matlab
- name: Install ninja-build
run: brew install ninja
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v2
with:
products: MATLAB_Compiler
- name: Build OpenTelemetry-Matlab
working-directory: opentelemetry-matlab
run: |
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_EXAMPLES=ON -DUSE_BATCH_FOR_MCC=ON -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
cmake --build build --config Release --target install
- name: Compress into single artifact
working-directory: ${{ github.workspace }}
run: tar -czf otel-matlab-${{ matrix.os }}.tar.gz otel_matlab_install
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: otel-matlab-${{ matrix.os }}.tar.gz
path: ${{ github.workspace }}/otel-matlab-${{ matrix.os }}.tar.gz
#package-mltbx:
#name: Package MATLAB Toolbox (MLTBX) Files
#runs-on: ubuntu-20.04
#permissions:
# contents: write
#needs:
# - build-ubuntu
# - build-windows
# - build-macos
#env:
# OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
#steps:
#- name: Checkout OpenTelemetry-Matlab
#uses: actions/checkout@v3
#with:
#path: OpenTelemetry-Matlab
#- name: Read version
#id: getversion
#working-directory: OpenTelemetry-Matlab
#run: echo "version=$(cat VERSION.txt)" >> $GITHUB_OUTPUT
#- name: Download Artifacts
#uses: actions/download-artifact@v3
#with:
#path: artifacts-downloaded
#- name: Decompress Artifacts
#run: |
#mv artifacts-downloaded/*/*.tar.gz .
#tar -xzvf otel-matlab-ubuntu.tar.gz
#tar -xzvf otel-matlab-macos-13.tar.gz
#tar -xzvf otel-matlab-macos-14.tar.gz
#tar -xzvf otel-matlab-windows.tar.gz
#- name: Install MATLAB
#uses: matlab-actions/setup-matlab@v1
#- name: Run commands
#env:
#MATLABPATH: OpenTelemetry-Matlab/tools
#OTEL_MATLAB_TOOLBOX_FOLDER: otel_matlab_install
#OTEL_MATLAB_TOOLBOX_OUTPUT_FOLDER:
#OTEL_MATLAB_TOOLBOX_VERSION: ${{ steps.getversion.outputs.version }}
#uses: matlab-actions/run-command@v1
#with:
#command: packageMatlabInterface
#- name: Upload Release Asset
#uses: actions/upload-release-asset@v1
#env:
#GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#with:
#upload_url: ${{ github.event.release.upload_url }}
#asset_path: ./otel-matlab.mltbx
#asset_name: otel-matlab.mltbx
#asset_content_type: application/octet-stream