| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- name: Build and Release (Linux)
- on:
- push:
- tags:
- - 'v*'
- permissions:
- contents: write
- jobs:
- build-linux:
- name: Build on Ubuntu
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- - name: Install dependencies
- run: |
- # Add the official OBS Studio PPA to get the latest libobs-dev
- sudo add-apt-repository ppa:obsproject/obs-studio -y
- sudo apt-get update
-
- # Install Ninja, ccache, OBS headers, and Qt6 (Core, Widgets, WebSockets)
- sudo apt-get install -y \
- ninja-build \
- ccache \
- libobs-dev \
- qt6-base-dev \
- libqt6websockets6-dev
- - name: Configure CMake
- # Override the preset defaults so CMake knows to look for the Frontend API and Qt
- run: >
- cmake --preset ubuntu-ci-x86_64
- -DENABLE_FRONTEND_API=ON
- -DENABLE_QT=ON
- - name: Build Plugin
- run: cmake --build --preset ubuntu-ci-x86_64
- - name: Package Artifacts
- run: |
- cd build_x86_64/rundir/RelWithDebInfo
- tar -czvf ../../../cd-rec-status-linux-x86_64.tar.gz .
- - name: Upload Build Artifact
- uses: actions/upload-artifact@v4
- with:
- name: cd-rec-status-linux-x86_64
- path: cd-rec-status-linux-x86_64.tar.gz
- release:
- name: Create GitHub Release
- needs: build-linux
- runs-on: ubuntu-latest
- steps:
- - name: Download artifacts
- uses: actions/download-artifact@v4
- with:
- path: artifacts
- merge-multiple: true
- - name: Publish Release
- uses: softprops/action-gh-release@v2
- with:
- files: artifacts/*.tar.gz
- generate_release_notes: true
|