From 577fe869174095d7479d01a747e31e6e49d0debb Mon Sep 17 00:00:00 2001 From: xiongziliang <771730766@qq.com> Date: Sun, 9 Jun 2024 10:56:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8C=81=E7=BB=AD=E9=9B=86?= =?UTF-8?q?=E6=88=90=EF=BC=8Clinux=20ci=E4=BF=AE=E6=94=B9=E4=B8=BAcentos7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/android.yml | 4 ++-- .github/workflows/docker.yml | 5 ++--- .github/workflows/linux.yml | 42 ++++++++++++++++++++++++++--------- .github/workflows/macos.yml | 4 ++-- .github/workflows/style.yml | 2 +- .github/workflows/windows.yml | 4 ++-- 6 files changed, 40 insertions(+), 21 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 3296a056..210f11b5 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -37,10 +37,10 @@ jobs: name: ${{ github.workflow }}_${{ env.BRANCH }}_${{ env.DATE }} path: Android/app/build/outputs/apk/debug/* if-no-files-found: error - retention-days: 1 + retention-days: 90 - name: issue评论 - if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' && github.ref != 'refs/heads/feature/test' uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 81c002c9..6da38130 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -21,7 +21,7 @@ env: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 permissions: contents: read packages: write @@ -39,7 +39,6 @@ jobs: # Install the cosign tool except on PR # https://github.com/sigstore/cosign-installer - name: Install cosign - if: github.event_name != 'pull_request' uses: sigstore/cosign-installer@d572c9c13673d2e0a26fabf90b5748f36886883f - name: Set up QEMU @@ -53,7 +52,6 @@ jobs: # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} - if: github.event_name != 'pull_request' uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c with: registry: ${{ env.REGISTRY }} @@ -71,6 +69,7 @@ jobs: # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image + if: github.event_name != 'pull_request' && github.ref != 'refs/heads/feature/test' id: build-and-push uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a with: diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 96bbcadb..2e79942c 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -13,9 +13,6 @@ jobs: - name: 下载submodule源码 run: mv -f .gitmodules_github .gitmodules && git submodule sync && git submodule update --init - - name: apt-get安装依赖库(非必选) - run: sudo apt-get update && sudo apt-get install -y cmake libssl-dev libsdl-dev libavcodec-dev libavutil-dev libswscale-dev libresample-dev libusrsctp-dev - - name: 下载 SRTP uses: actions/checkout@v2 with: @@ -24,11 +21,34 @@ jobs: ref: v2.3.0 path: 3rdpart/libsrtp - - name: 编译 SRTP - run: cd 3rdpart/libsrtp && ./configure --enable-openssl && make -j $(nproc) && sudo make install - - - name: 编译 - run: mkdir -p linux_build && cd linux_build && cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_FFMPEG=true && make -j $(nproc) + - 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 unzip ffmpeg-devel libavutil-devel libswscale-devel libresample-devel usrsctp-devel + + wget https://github.com/openssl/openssl/archive/refs/heads/OpenSSL_1_1_1-stable.zip + unzip OpenSSL_1_1_1-stable.zip + cd openssl-OpenSSL_1_1_1-stable + ./config no-shared --prefix=/root/release + make -j $(nproc) + make install + cd .. + + wget https://github.com/Kitware/CMake/releases/download/v3.29.5/cmake-3.29.5.tar.gz + tar -xvf cmake-3.29.5.tar.gz + cd cmake-3.29.5 + OPENSSL_ROOT_DIR=/root/release ./configure + make -j $(nproc) + make install + cd .. + + cd 3rdpart/libsrtp && ./configure --enable-openssl --with-openssl-dir=/root/release && make -j $(nproc) && make install + cd ../../ + + mkdir -p linux_build && cd linux_build && cmake .. -DOPENSSL_ROOT_DIR=/root/release -DCMAKE_BUILD_TYPE=Release -DENABLE_FFMPEG=true && make -j $(nproc) + " - name: 设置环境变量 run: | @@ -43,10 +63,10 @@ jobs: name: ${{ github.workflow }}_${{ env.BRANCH }}_${{ env.DATE }} path: release/* if-no-files-found: error - retention-days: 1 + retention-days: 90 - name: issue评论 - if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' && github.ref != 'refs/heads/feature/test' uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} @@ -60,5 +80,5 @@ jobs: + '- git hash: ${{ github.sha }} \n' + '- 编译日期: ${{ env.DATE }}\n' + '- 打包ci名: ${{ github.workflow }}\n' - + '- 说明: 本二进制在ubuntu-20.04(x64)上编译,请确保您的机器系统不低于此版本,并提前`sudo apt-get install -y libssl-dev libsdl-dev libavcodec-dev libavutil-dev libswscale-dev libresample-dev libusrsctp-dev`安装依赖项\n' + + '- 说明: 本二进制在centos7(x64)上编译,请确保您的机器系统不低于此版本,并提前`sudo yum check-update && sudo yum install -y openssl-devel ffmpeg-devel libavutil-devel libswscale-devel libresample-devel usrsctp-devel`安装依赖项\n' }) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index adda4d8c..6482dac4 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -43,10 +43,10 @@ jobs: name: ${{ github.workflow }}_${{ env.BRANCH }}_${{ env.DATE }} path: release/* if-no-files-found: error - retention-days: 1 + retention-days: 90 - name: issue评论 - if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' && github.ref != 'refs/heads/feature/test' uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 361add93..03acf75c 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -4,7 +4,7 @@ on: [pull_request] jobs: check: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 662d211c..7f224be8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -45,10 +45,10 @@ jobs: name: ${{ github.workflow }}_${{ env.BRANCH }}_${{ env.DATE }} path: release/* if-no-files-found: error - retention-days: 1 + retention-days: 90 - name: issue评论 - if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' && github.ref != 'refs/heads/feature/test' uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }}