保证rtp服务器tcp模式下线程安全 #14
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: Linux | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: 下载submodule源码 | |
run: mv -f .gitmodules_github .gitmodules && git submodule sync && git submodule update --init | |
- name: 下载 SRTP | |
uses: actions/checkout@v2 | |
with: | |
repository: cisco/libsrtp | |
fetch-depth: 1 | |
ref: v2.3.0 | |
path: 3rdpart/libsrtp | |
- name: 下载 openssl | |
uses: actions/checkout@v2 | |
with: | |
repository: openssl/openssl | |
fetch-depth: 1 | |
ref: OpenSSL_1_1_1 | |
path: 3rdpart/openssl | |
- name: 下载 usrsctp | |
uses: actions/checkout@v2 | |
with: | |
repository: sctplab/usrsctp | |
fetch-depth: 1 | |
ref: 0.9.5.0 | |
path: 3rdpart/usrsctp | |
- name: 启动 Docker 容器, 在Docker 容器中执行脚本 | |
run: | | |
docker pull centos:7 | |
docker run -v $(pwd):/root -w /root --rm centos:7 sh -c " | |
set -x | |
yum install -y git wget gcc gcc-c++ make | |
mkdir -p /root/install | |
cd 3rdpart/openssl | |
./config no-shared --prefix=/root/install | |
make -j $(nproc) | |
make install | |
cd ../../ | |
wget https://github.com/Kitware/CMake/releases/download/v3.29.5/cmake-3.29.5.tar.gz | |
tar -xf cmake-3.29.5.tar.gz | |
cd cmake-3.29.5 | |
OPENSSL_ROOT_DIR=/root/install ./configure | |
make -j $(nproc) | |
make install | |
cd .. | |
cd 3rdpart/usrsctp | |
mkdir build | |
cd build | |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. | |
make -j $(nproc) | |
make install | |
cd ../../../ | |
cd 3rdpart/libsrtp && ./configure --enable-openssl --with-openssl-dir=/root/install && make -j $(nproc) && make install | |
cd ../../ | |
mkdir -p linux_build && cd linux_build && cmake .. -DOPENSSL_ROOT_DIR=/root/install -DCMAKE_BUILD_TYPE=Release && make -j $(nproc) | |
" | |
- name: 设置环境变量 | |
run: | | |
echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | tr -s "/\?%*:|\"<>" "_")" >> $GITHUB_ENV | |
echo "BRANCH2=$(echo ${GITHUB_REF#refs/heads/} )" >> $GITHUB_ENV | |
echo "DATE=$(date +%Y-%m-%d)" >> $GITHUB_ENV | |
- name: 打包二进制 | |
id: upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.workflow }}_${{ env.BRANCH }}_${{ env.DATE }} | |
path: release/* | |
if-no-files-found: error | |
retention-days: 90 | |
- name: issue评论 | |
if: github.event_name != 'pull_request' && github.ref != 'refs/heads/feature/test' | |
uses: actions/github-script@v7 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
github.rest.issues.createComment({ | |
issue_number: 483, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: '- 下载地址: [${{ github.workflow }}_${{ env.BRANCH }}_${{ env.DATE }}](${{ steps.upload.outputs.artifact-url }})\n' | |
+ '- 分支: ${{ env.BRANCH2 }}\n' | |
+ '- git hash: ${{ github.sha }} \n' | |
+ '- 编译日期: ${{ env.DATE }}\n' | |
+ '- 编译记录: [${{ github.run_id }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})\n' | |
+ '- 打包ci名: ${{ github.workflow }}\n' | |
+ '- 开启特性: openssl/webrtc/datachannel\n' | |
+ '- 说明: 本二进制在centos7(x64)上编译,请确保您的机器系统不低于此版本\n' | |
}) |