From 2fdb06299c110298bde301ba4ec103f7a997df14 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 14 Aug 2021 21:24:36 +0800 Subject: [PATCH] Support utest and regression-test when release. v4.0.156 --- .github/workflows/release.yml | 41 +++++++++++++++++++--------- README.md | 1 + trunk/Dockerfile.test | 13 +++++++++ trunk/src/core/srs_core_version4.hpp | 2 +- 4 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 trunk/Dockerfile.test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4615e4010..b538f151d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,9 +12,27 @@ jobs: runs-on: ubuntu-20.04 steps: + ################################################################ + # Git checkout - name: Checkout repository uses: actions/checkout@v2 + ################################################################ + # Tests + - name: Build test image + if: ${{ !startsWith(github.ref, 'refs/tags/v3') }} + run: docker build --tag srs:test -f trunk/Dockerfile.test trunk + # For utest + - name: Run SRS utest + if: ${{ !startsWith(github.ref, 'refs/tags/v3') }} + run: docker run --rm srs:test bash -c 'make && ./objs/srs_utest' + # For regression-test + - name: Run SRS regression-test + if: ${{ !startsWith(github.ref, 'refs/tags/v3') }} + run: docker run --rm srs:test bash -c 'make && ./objs/srs -c conf/regression-test.conf && cd 3rdparty/srs-bench && make && ./objs/srs_test -test.v' + + ################################################################ + # Build # The github.ref is, for example, refs/tags/v3.0.145 or refs/tags/v3.0-r8 # Generate variables like: # SRS_TAG=v3.0.145 @@ -22,31 +40,30 @@ jobs: # SRS_MAJOR=3 # @see https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable - name: Generate varaiables - shell: bash run: | SRS_TAG=$(echo ${{ github.ref }}| awk -F '/' '{print $3}') echo "SRS_TAG=$SRS_TAG" >> $GITHUB_ENV SRS_MAJOR=$(echo $SRS_TAG| cut -c 2) echo "SRS_MAJOR=$SRS_MAJOR" >> $GITHUB_ENV - - - name: Build SRS - shell: bash + # Build SRS image + - name: Build SRS docker image run: | echo "Release ossrs/srs:$SRS_TAG" docker build --tag ossrs/srs:$SRS_TAG trunk + ################################################################ + # Docker - name: Login docker hub uses: docker/login-action@v1 with: username: "${{ secrets.DOCKER_USERNAME }}" password: "${{ secrets.DOCKER_PASSWORD }}" - name: Push to docker hub - shell: bash run: | docker push ossrs/srs:$SRS_TAG docker tag ossrs/srs:$SRS_TAG ossrs/srs:$SRS_MAJOR docker push ossrs/srs:$SRS_MAJOR - + # Aliyun ACR - name: Login Aliyun docker hub uses: aliyun/acr-login@v1 with: @@ -54,30 +71,28 @@ jobs: username: "${{ secrets.ACR_USERNAME }}" password: "${{ secrets.ACR_PASSWORD }}" - name: Push to Aliyun docker hub - shell: bash run: | docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_MAJOR docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_MAJOR + ################################################################ + # K8S - name: Setup KUBCONFIG for Aliyun ACK - shell: bash run: |- KUBECONFIG=$RUNNER_TEMP/kubeconfig_$(date +%s) echo "${{ secrets.KUBCONFIG }}" > $KUBECONFIG echo "KUBECONFIG=$KUBECONFIG" >> $GITHUB_ENV - + # K8S for SRS 3.0 - name: Release SRS 3.0 to Aliyun ACK - shell: bash if: ${{ startsWith(github.ref, 'refs/tags/v3') }} run: |- kubectl set image deploy/srs3-deploy srs=registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG kubectl describe deploy/srs3-deploy - + # K8S for SRS 4.0 - name: Release SRS 4.0 to Aliyun ACK - shell: bash if: ${{ startsWith(github.ref, 'refs/tags/v4') }} run: |- kubectl set image deploy/srs4-deploy srs4=registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG - kubectl describe deploy/srs4-deploy \ No newline at end of file + kubectl describe deploy/srs4-deploy diff --git a/README.md b/README.md index 38d9e2d81..d436e08dd 100755 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ ![](http://ossrs.net/gif/v1/sls.gif?site=github.com&path=/srs/4.0release) [![](https://github.com/ossrs/srs/actions/workflows/codeql-analysis.yml/badge.svg?branch=4.0release)](https://github.com/ossrs/srs/actions?query=workflow%3ACodeQL+branch%3A4.0release) +[![](https://github.com/ossrs/srs/actions/workflows/release.yml/badge.svg)](https://github.com/ossrs/srs/actions/workflows/release.yml?query=workflow%3ARelease) [![](https://circleci.com/gh/ossrs/srs/tree/4.0release.svg?style=svg&circle-token=1ef1d5b5b0cde6c8c282ed856a18199f9e8f85a9)](https://circleci.com/gh/ossrs/srs/tree/4.0release) [![](https://codecov.io/gh/ossrs/srs/branch/4.0release/graph/badge.svg)](https://codecov.io/gh/ossrs/srs/branch/4.0release) [![](https://gitee.com/winlinvip/srs-wiki/raw/master/images/wechat-badge.png)](../../wikis/Contact#wechat) diff --git a/trunk/Dockerfile.test b/trunk/Dockerfile.test new file mode 100644 index 000000000..1bf98f85c --- /dev/null +++ b/trunk/Dockerfile.test @@ -0,0 +1,13 @@ +FROM ossrs/srs:dev + +# Install depends tools. +RUN yum install -y gcc make gcc-c++ patch unzip perl git + +# Build and install SRS. +COPY . /trunk +WORKDIR /trunk +RUN ./configure --srt=on --utest=on --jobs=2 && make -j2 +RUN cd 3rdparty/srs-bench && make + +# Run utest +RUN ./objs/srs_utest diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index 1763b5373..78ff735fe 100644 --- a/trunk/src/core/srs_core_version4.hpp +++ b/trunk/src/core/srs_core_version4.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 4 #define VERSION_MINOR 0 -#define VERSION_REVISION 155 +#define VERSION_REVISION 156 #endif