Skip to content

Update webrtc_native. Apply API changes. Format. (#137) #28

Update webrtc_native. Apply API changes. Format. (#137)

Update webrtc_native. Apply API changes. Format. (#137) #28

name: gen-doc-and-release
on:
push:
branches: [main]
workflow_dispatch:
branches: [main]
jobs:
build-gen-doc-and-release:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Generate Version Output
id: generate_version_output
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
- name: Print Version Information
run: echo "Version ${{ steps.generate_version_output.outputs.version }}"
- name: Install system dependencies (Linux)
run: |
sudo apt update
sudo apt install ninja-build cmake build-essential libssl-dev libboost-all-dev
sudo apt install libglib2.0-dev libgtk-3-dev libpulse-dev libasound2-dev tree perl
sudo apt install libopencv-dev
sudo apt install libunwind-dev
sudo apt install doxygen
- name: Install python dependencies
run: |
python -m pip install --user --upgrade pip
python -m pip install --user --upgrade setuptools wheel
python -m pip install --user --upgrade twine
python -m pip install --user --upgrade pytest
python -m pip install --user --upgrade sphinx
python -m pip install --user --upgrade pybind11-stubgen
python -m pip install --user --upgrade numpy
python -m pip install --user -r signaling-server/requirements.txt
- name: Generate C++ Documentation
working-directory: doc/cpp
run: |
export OPENTERA_WEBRTC_VERSION=${{ steps.generate_version_output.outputs.version }}
doxygen
- name: Generate JavaScript Documentation
working-directory: doc/js
run: |
export OPENTERA_WEBRTC_VERSION=${{ steps.generate_version_output.outputs.version }}
doxygen
- name: Create build directory
run: |
mkdir build
- name: Run CMake and build opentera-webrtc
working-directory: build
run: |
cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=dist \
-DOPENTERA_WEBRTC_NATIVE_CLIENT_PYTHON_PIP_INSTALL_PREFIX='--user' \
-DOPENTERA_WEBRTC_NATIVE_CLIENT_PYTHON_VERSION="$(python3 --version | perl -pe 's/Python //')" \
-DOPENTERA_WEBRTC_USE_SYSTEM_OPENCV=ON
make -j2 native_client-html-target
- name: Copy Python Documentation to Doc Folder
run: |
mkdir -p doc/python
cp -r build/opentera-webrtc-native-client/OpenteraWebrtcNativeClient/python/package/opentera_webrtc_native_client/_build/* doc/python
- name: Deploy to GitHub Pages
uses: JamesIves/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
folder: doc
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: v${{ steps.generate_version_output.outputs.version }}
release_name: opentera-webrtc-native-client-${{ steps.generate_version_output.outputs.version }}
body: |
Latest build of opentera-webrtc-native-client v${{ steps.generate_version_output.outputs.version }}
- Please see API documentation at https://introlab.github.io/opentera-webrtc
draft: false
prerelease: false