diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d1d398a41..75b88d5af 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,17 +12,20 @@ jobs: runs-on: ubuntu-20.04 steps: - ################################################################ + ################################################################################################################## + ################################################################################################################## + ################################################################################################################## # Git checkout - name: Checkout repository uses: actions/checkout@v2 - # The github.ref is, for example, refs/tags/v4.0.145 or refs/tags/v4.0-r8 + + # The github.ref is, for example, refs/tags/v5.0.145 or refs/tags/v5.0-r8 # Generate variables like: - # SRS_TAG=v4.0-r8 - # SRS_TAG=v4.0.145 - # SRS_VERSION=4.0.145 - # SRS_VERSION=4.0-r8 - # SRS_MAJOR=4 + # SRS_TAG=v5.0-r8 + # SRS_TAG=v5.0.145 + # SRS_VERSION=5.0.145 + # SRS_VERSION=5.0-r8 + # SRS_MAJOR=5 # @see https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable - name: Generate varaiables run: | @@ -32,35 +35,7 @@ jobs: echo "SRS_VERSION=$SRS_VERSION" >> $GITHUB_ENV SRS_MAJOR=$(echo $SRS_TAG| cut -c 2) echo "SRS_MAJOR=$SRS_MAJOR" >> $GITHUB_ENV - # Create source tar for release. Note that it's for OpenWRT package srs-server, so the filename MUST be - # srs-server-xxx.tar.gz, because the package is named srs-server. - # Generate variables like: - # SRS_SOURCE_TAR=srs-server-4.0.145.tar.gz - # SRS_SOURCE_MD5=83e38700a80a26e30b2df054e69956e5 - - name: Create source tar.gz - run: | - DEST_DIR=srs-server-$SRS_VERSION && mkdir -p $DEST_DIR && - cp README.md $DEST_DIR && cp LICENSE $DEST_DIR && cp -R trunk $DEST_DIR/trunk && - (cd $DEST_DIR/trunk/3rdparty && rm -rf *.zip openssl-*.gz srs-bench) && - tar zcf ${DEST_DIR}.tar.gz ${DEST_DIR} && du -sh ${DEST_DIR}* && rm -rf ${DEST_DIR} && - echo "SRS_SOURCE_TAR=${DEST_DIR}.tar.gz" >> $GITHUB_ENV && - echo "SRS_SOURCE_MD5=$(md5sum ${DEST_DIR}.tar.gz| awk '{print $1}')" >> $GITHUB_ENV - # Create package tar for release - # Generate variables like: - # SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-4.0.145.zip - # SRS_PACKAGE_MD5=3880a26e30b283edf05700a4e69956e5 - - name: Create package zip - env: - PACKAGER: ${{ secrets.SRS_PACKAGER_BINARY }} - run: | - docker build --tag srs:pkg --build-arg version=$SRS_VERSION --build-arg SRS_AUTO_PACKAGER=$PACKAGER -f trunk/Dockerfile.pkg . && - SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-$SRS_VERSION.zip && - docker run --rm -v $(pwd):/output srs:pkg cp objs/$SRS_PACKAGE_ZIP /output/ && - du -sh $SRS_PACKAGE_ZIP && - echo "SRS_PACKAGE_ZIP=$SRS_PACKAGE_ZIP" >> $GITHUB_ENV && - echo "SRS_PACKAGE_MD5=$(md5sum $SRS_PACKAGE_ZIP| awk '{print $1}')" >> $GITHUB_ENV - ################################################################ # Tests - name: Build test image run: docker build --tag srs:test -f trunk/Dockerfile.test . @@ -71,18 +46,22 @@ jobs: - name: Run SRS regression-test 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 - # Build SRS image + ################################################################################################################## + ################################################################################################################## + ################################################################################################################## + # Build SRS docker images - name: Build SRS docker image env: PACKAGER: ${{ secrets.SRS_PACKAGER_DOCKER }} + PACKAGER_DROPLET: ${{ secrets.SRS_PACKAGER_DROPLET }} run: | echo "Release ossrs/srs:$SRS_TAG" docker build --tag ossrs/srs:$SRS_TAG --build-arg SRS_AUTO_PACKAGER=$PACKAGER -f trunk/Dockerfile . + echo "Release ossrs/droplet:$SRS_TAG" + docker build --tag ossrs/droplet:$SRS_TAG --build-arg SRS_AUTO_PACKAGER=$PACKAGER_DROPLET -f trunk/Dockerfile . - ################################################################ - # Docker + # Docker hub + # TODO: FIXME: If stable, please set the latest from 4.0 to 5.0 - name: Login docker hub uses: docker/login-action@v1 with: @@ -90,12 +69,16 @@ jobs: password: "${{ secrets.DOCKER_PASSWORD }}" - name: Push to docker hub run: | - docker push ossrs/srs:$SRS_TAG docker tag ossrs/srs:$SRS_TAG ossrs/srs:$SRS_MAJOR - docker push ossrs/srs:$SRS_MAJOR - docker tag ossrs/srs:$SRS_TAG ossrs/srs:latest - docker push ossrs/srs:latest - # Aliyun ACR + #docker tag ossrs/srs:$SRS_TAG ossrs/srs:latest + docker push --all-tags ossrs/srs + # + docker tag ossrs/droplet:$SRS_TAG ossrs/droplet:$SRS_MAJOR + #docker tag ossrs/droplet:$SRS_TAG ossrs/droplet:latest + docker push --all-tags ossrs/droplet + + # Aliyun ACR hub + # TODO: FIXME: If stable, please set the latest from 4.0 to 5.0 - name: Login Aliyun docker hub uses: aliyun/acr-login@v1 with: @@ -105,32 +88,52 @@ jobs: - name: Push to Aliyun docker hub 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_VERSION - docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_VERSION docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v$SRS_MAJOR - docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v$SRS_MAJOR 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 - docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest - docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest + #docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest + docker push --all-tags registry.cn-hangzhou.aliyuncs.com/ossrs/srs + # + docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:$SRS_TAG + docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:$SRS_VERSION + docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:v$SRS_MAJOR + docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:$SRS_MAJOR + #docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:latest + docker push --all-tags registry.cn-hangzhou.aliyuncs.com/ossrs/droplet - ################################################################ - # K8S - - name: Setup KUBCONFIG for Aliyun ACK - run: |- - KUBECONFIG=$RUNNER_TEMP/kubeconfig_$(date +%s) - echo "${{ secrets.KUBCONFIG }}" > $KUBECONFIG - echo "KUBECONFIG=$KUBECONFIG" >> $GITHUB_ENV - # K8S for SRS 4.0 - - name: Release SRS 4.0 to Aliyun ACK - 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 + ################################################################################################################## + ################################################################################################################## + ################################################################################################################## + # Create source tar for release. Note that it's for OpenWRT package srs-server, so the filename MUST be + # srs-server-xxx.tar.gz, because the package is named srs-server. + # Generate variables like: + # SRS_SOURCE_TAR=srs-server-5.0.145.tar.gz + # SRS_SOURCE_MD5=83e38700a80a26e30b2df054e69956e5 + - name: Create source tar.gz + run: | + DEST_DIR=srs-server-$SRS_VERSION && mkdir -p $DEST_DIR && + cp README.md $DEST_DIR && cp LICENSE $DEST_DIR && cp -R trunk $DEST_DIR/trunk && + (cd $DEST_DIR/trunk/3rdparty && rm -rf *.zip openssl-*.gz srs-bench) && + tar zcf ${DEST_DIR}.tar.gz ${DEST_DIR} && du -sh ${DEST_DIR}* && rm -rf ${DEST_DIR} && + echo "SRS_SOURCE_TAR=${DEST_DIR}.tar.gz" >> $GITHUB_ENV && + echo "SRS_SOURCE_MD5=$(md5sum ${DEST_DIR}.tar.gz| awk '{print $1}')" >> $GITHUB_ENV + # Create package tar for release + # Generate variables like: + # SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-5.0.145.zip + # SRS_PACKAGE_MD5=3880a26e30b283edf05700a4e69956e5 + - name: Create package zip + env: + PACKAGER: ${{ secrets.SRS_PACKAGER_BINARY }} + run: | + docker build --tag srs:pkg --build-arg version=$SRS_VERSION --build-arg SRS_AUTO_PACKAGER=$PACKAGER -f trunk/Dockerfile.pkg . && + SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-$SRS_VERSION.zip && + docker run --rm -v $(pwd):/output srs:pkg cp objs/$SRS_PACKAGE_ZIP /output/ && + du -sh $SRS_PACKAGE_ZIP && + echo "SRS_PACKAGE_ZIP=$SRS_PACKAGE_ZIP" >> $GITHUB_ENV && + echo "SRS_PACKAGE_MD5=$(md5sum $SRS_PACKAGE_ZIP| awk '{print $1}')" >> $GITHUB_ENV - ################################################################ # Create release. + # TODO: FIXME: Refine the release when 5.0 releoased - name: Create release id: create_release uses: actions/create-release@v1 @@ -145,18 +148,15 @@ jobs: * Source: ${{ env.SRS_SOURCE_MD5 }} [${{ env.SRS_SOURCE_TAR }}](https://github.com/ossrs/srs/releases/download/${{ env.SRS_TAG }}/${{ env.SRS_SOURCE_TAR }}) * Binary: ${{ env.SRS_PACKAGE_MD5 }} [${{ env.SRS_PACKAGE_ZIP }}](https://github.com/ossrs/srs/releases/download/${{ env.SRS_TAG }}/${{ env.SRS_PACKAGE_ZIP }}) ## Docker - * China: [docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest](https://github.com/ossrs/srs/wiki/v4_CN_Home#docker) - * China: [docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_MAJOR }}](https://github.com/ossrs/srs/wiki/v4_CN_Home#docker) - * China: [docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_TAG }}](https://github.com/ossrs/srs/wiki/v4_CN_Home#docker) - * Global: [docker pull ossrs/srs:latest](https://github.com/ossrs/srs/wiki/v4_EN_Home#docker) - * Global: [docker pull ossrs/srs:${{ env.SRS_MAJOR }}](https://github.com/ossrs/srs/wiki/v4_EN_Home#docker) - * Global: [docker pull ossrs/srs:${{ env.SRS_TAG }}](https://github.com/ossrs/srs/wiki/v4_EN_Home#docker) + * China: docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_MAJOR }} + * China: docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_TAG }} + * Global: docker pull ossrs/srs:${{ env.SRS_MAJOR }} + * Global: docker pull ossrs/srs:${{ env.SRS_TAG }} ## Doc - * [快速入门](https://github.com/ossrs/srs/wiki/v4_CN_Home#getting-started) or [Getting Started](https://github.com/ossrs/srs/wiki/v4_EN_Home#getting-started) - * [中文Wiki首页](https://github.com/ossrs/srs/wiki/v4_CN_Home) or [Wiki home](https://github.com/ossrs/srs/wiki/v4_EN_Home) * [FAQ](https://github.com/ossrs/srs/issues/2716), [Features](https://github.com/ossrs/srs/blob/${{ github.sha }}/trunk/doc/Features.md#features) or [ChangeLogs](https://github.com/ossrs/srs/blob/${{ github.sha }}/trunk/doc/CHANGELOG.md#changelog) draft: false - prerelease: false + prerelease: true + # Upload release source files - name: Upload Release Assets Source id: upload-release-assets-source @@ -166,6 +166,7 @@ jobs: with: release_id: ${{ steps.create_release.outputs.id }} assets_path: ${{ env.SRS_SOURCE_TAR }} + # Upload release package files - name: Upload Release Assets Package id: upload-release-assets-package @@ -176,3 +177,19 @@ jobs: release_id: ${{ steps.create_release.outputs.id }} assets_path: ${{ env.SRS_PACKAGE_ZIP }} + ################################################################################################################## + ################################################################################################################## + ################################################################################################################## + # K8S release to official website + - name: Setup KUBCONFIG for Aliyun ACK + run: |- + KUBECONFIG=$RUNNER_TEMP/kubeconfig_$(date +%s) + echo "${{ secrets.KUBCONFIG }}" > $KUBECONFIG + echo "KUBECONFIG=$KUBECONFIG" >> $GITHUB_ENV + # K8S for SRS 5.0 + - name: Release SRS 5.0 to Aliyun ACK + if: ${{ startsWith(github.ref, 'refs/tags/v5') }} + run: |- + kubectl set image deploy/srs5-deploy srs=registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG + kubectl describe deploy/srs5-deploy + diff --git a/README.md b/README.md index 804e39199..008e8682e 100755 --- a/README.md +++ b/README.md @@ -128,6 +128,7 @@ A big `THANK YOU` also goes to: ## Releases +* 2022-01-17, Release [v4.0-b4](https://github.com/ossrs/srs/releases/tag/v4.0-b4), v4.0-b4, 4.0 beta4, v4.0.230, 144393 lines. * 2022-01-13, Release [v4.0-b3](https://github.com/ossrs/srs/releases/tag/v4.0-b3), v4.0-b3, 4.0 beta3, v4.0.229, 144393 lines. * 2022-01-03, Release [v4.0-b2](https://github.com/ossrs/srs/releases/tag/v4.0-b2), v4.0-b2, 4.0 beta2, v4.0.215, 144278 lines. * 2021-12-19, Release [v4.0-b1](https://github.com/ossrs/srs/releases/tag/v4.0-b1), v4.0-b1, 4.0 beta1, v4.0.206, 144126 lines. diff --git a/trunk/conf/docker.conf b/trunk/conf/docker.conf index 58a200442..dc7a2368b 100644 --- a/trunk/conf/docker.conf +++ b/trunk/conf/docker.conf @@ -31,8 +31,8 @@ vhost __defaultVhost__ { rtc { enabled on; # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtmp-to-rtc - rtmp_to_rtc off; + rtmp_to_rtc on; # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtc-to-rtmp - rtc_to_rtmp off; + rtc_to_rtmp on; } } diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index 38de61cc4..837d5180f 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -31,6 +31,9 @@ The changelog for SRS. ## SRS 4.0 Changelog +* v4.0, 2022-01-17, Release v4.0-b4, 4.0 beta4, v4.0.230, 144393 lines. +* v4.0, 2022-01-17, Enable rtmp2rtc and rtc2rtmp for docker.conf +* v4.0, 2022-01-17, Support docker image for [droplet](https://hub.docker.com/r/ossrs/droplet). v4.0.230 * v4.0, 2022-01-16, Update README for **Cloud Virtual Machine([CN](https://github.com/ossrs/srs/wiki/v4_CN_Home#cloud-virtual-machine) / [EN](https://github.com/ossrs/srs/wiki/v4_EN_Home#cloud-virtual-machine))** * v4.0, 2022-01-13, Merge [#2872](https://github.com/ossrs/srs/pull/2872): RTC: fix play rtc judge for config rtc2rtmp on. (#2872). v4.0.229 * v4.0, 2022-01-13, Support configure with --config as default config file. v4.0.227 diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index 81ee8b85c..4274d9601 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 229 +#define VERSION_REVISION 230 #endif