diff options
author | Theodore Chang <tlcfem@gmail.com> | 2025-05-06 18:48:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-06 16:48:39 +0000 |
commit | 6aae766520d7cbf493fce6b6f1595f8c96b71fbe (patch) | |
tree | 555730514cb794ee0ebfb44bd586b6b34a3f0501 | |
parent | 590838230a52277aef006e7f2e52fda814cca077 (diff) |
Update CMake workflow for Ubuntu 22.04 and ONNXRuntime integration (#2026)
-rw-r--r-- | .github/workflows/linux-package.yml | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/.github/workflows/linux-package.yml b/.github/workflows/linux-package.yml new file mode 100644 index 00000000..bc622b6f --- /dev/null +++ b/.github/workflows/linux-package.yml @@ -0,0 +1,77 @@ +name: Linuax Package +on: + push: + tags: + - 'opentrack-*' + workflow_dispatch: +env: + build_type: Release + onnx_version: 1.21.0 + onnx_prefix: onnxruntime-linux-x64 + file_name: '' # to disable warning in case of a linter + Qt5_DIR: '' # to disable warning in case of a linter +jobs: + Package: + runs-on: ubuntu-22.04 + steps: + - name: Clone opentrack/opentrack + uses: actions/checkout@v4 + - name: Clone opentrack/depends + uses: actions/checkout@v4 + with: + repository: opentrack/opentrack-depends + submodules: true + path: opentrack-depends + + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install libprocps-dev libopencv-dev wine64-tools + wget -q https://github.com/microsoft/onnxruntime/releases/download/v${{env.onnx_version}}/${{env.onnx_prefix}}-${{env.onnx_version}}.tgz + tar xzf ${{env.onnx_prefix}}-${{env.onnx_version}}.tgz + - name: Install Qt + uses: jurplel/install-qt-action@v4 + with: + version: 5.15 + archives: icu qtbase qttools qtserialport + + - name: Configure and Build + run: | + cmake -S . -B build \ + -DCMAKE_BUILD_TYPE=${{env.build_type}} \ + -DONNXRuntime_DIR=${{env.onnx_prefix}}-${{env.onnx_version}} \ + -DQt5_DIR=${{env.Qt5_DIR}} + cmake --build build --config ${{env.build_type}} --target install -- -j $(nproc) + + - name: Pack + run: | + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/${{env.onnx_prefix}}-${{env.onnx_version}}/lib + + # required by linuxdeployqt + sudo apt-get install libfuse2 + wget -q https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage + chmod +x linuxdeployqt-*.AppImage + cd build/install/ + ln -s $(pwd)/libexec/opentrack $(pwd)/lib + ../../linuxdeployqt-*.AppImage bin/opentrack -bundle-non-qt-libs -unsupported-allow-new-glibc + rm lib + + echo '#!/bin/sh' >> opentrack + echo 'CURRENT_PATH="$(dirname "$(readlink -f "$0")")"' >> opentrack + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CURRENT_PATH/libexec/opentrack' >> opentrack + echo '"$CURRENT_PATH/bin/opentrack" "$@"' >> opentrack + chmod +x opentrack + + if [[ ${{github.ref_name}} =~ ^opentrack.*$ ]]; then + file_name=${{github.ref_name}}-linux.tar.gz + else + file_name=opentrack-dev-linux.tar.gz + fi + echo "file_name=$file_name" >> $GITHUB_ENV + + tar czf ../../$file_name . + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: ${{env.file_name}} + path: ${{env.file_name}} |