Reliability tests (#134) #25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |