mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Windows: Support cygwin pipline and packager. v5.0.89 (#3257)
1. Support github actions on Windows Server 2022. 2. Use cygwin64 in windows-latest to build SRS. 3. Package SRS-xxx-setup.exe by NSIS.exe 4. Patch crypto/include/config.h for libsrtp. 5. Support run as administrator. 6. Apply utest for cygwin. 7. Enable srtp over openssl.
This commit is contained in:
parent
d741f81110
commit
b18ee398ed
16 changed files with 834 additions and 60 deletions
59
.github/workflows/test.yml
vendored
59
.github/workflows/test.yml
vendored
|
|
@ -4,6 +4,34 @@ name: "Test"
|
|||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
cygwin64:
|
||||
name: cygwin64
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
# See https://github.com/cygwin/cygwin-install-action#parameters
|
||||
# Note that https://github.com/egor-tensin/setup-cygwin fails to install packages.
|
||||
- name: Setup Cygwin
|
||||
uses: cygwin/cygwin-install-action@master
|
||||
with:
|
||||
platform: x86_64
|
||||
packages: bash make gcc-g++ cmake automake patch pkg-config tcl
|
||||
install-dir: C:\cygwin64
|
||||
##################################################################################################################
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
##################################################################################################################
|
||||
- name: Build and test SRS
|
||||
env:
|
||||
SHELLOPTS: igncr
|
||||
SRS_WORKSPACE: ${{ github.workspace }}
|
||||
shell: C:\cygwin64\bin\bash.exe --login '{0}'
|
||||
run: |
|
||||
export PATH=/usr/bin:/usr/local/bin &&
|
||||
cd $(cygpath -u $SRS_WORKSPACE)/trunk && ./configure --utest=on && make utest &&
|
||||
./objs/srs_utest
|
||||
outputs:
|
||||
SRS_CYGWIN_DONE: ok
|
||||
|
||||
build-centos7:
|
||||
name: build-centos7
|
||||
runs-on: ubuntu-20.04
|
||||
|
|
@ -23,6 +51,8 @@ jobs:
|
|||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos7-no-asm .
|
||||
- name: Build on CentOS7, C++98, no FFmpeg
|
||||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos7-ansi-no-ffmpeg .
|
||||
outputs:
|
||||
SRS_BUILD_CENTOS7_DONE: ok
|
||||
|
||||
build-centos6:
|
||||
name: build-centos6
|
||||
|
|
@ -37,6 +67,8 @@ jobs:
|
|||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos6-baseline .
|
||||
- name: Build on CentOS6, with all features
|
||||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target centos6-all .
|
||||
outputs:
|
||||
SRS_BUILD_CENTOS6_DONE: ok
|
||||
|
||||
build-ubuntu16:
|
||||
name: build-ubuntu16
|
||||
|
|
@ -51,6 +83,8 @@ jobs:
|
|||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu16-baseline .
|
||||
- name: Build on Ubuntu16, with all features
|
||||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu16-all .
|
||||
outputs:
|
||||
SRS_BUILD_UBUNTU16_DONE: ok
|
||||
|
||||
build-ubuntu18:
|
||||
name: build-ubuntu18
|
||||
|
|
@ -65,6 +99,8 @@ jobs:
|
|||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu18-baseline .
|
||||
- name: Build on Ubuntu18, with all features
|
||||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu18-all .
|
||||
outputs:
|
||||
SRS_BUILD_UBUNTU18_DONE: ok
|
||||
|
||||
build-ubuntu20:
|
||||
name: build-ubuntu20
|
||||
|
|
@ -79,6 +115,8 @@ jobs:
|
|||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu20-baseline .
|
||||
- name: Build on Ubuntu20, with all features
|
||||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu20-all .
|
||||
outputs:
|
||||
SRS_BUILD_UBUNTU20_DONE: ok
|
||||
|
||||
build-cross-arm:
|
||||
name: build-cross-arm
|
||||
|
|
@ -92,6 +130,8 @@ jobs:
|
|||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu16-cross-armv7 .
|
||||
- name: Cross Build for ARMv7 on Ubuntu20
|
||||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu20-cross-armv7 .
|
||||
outputs:
|
||||
SRS_BUILD_CROSS_ARM_DONE: ok
|
||||
|
||||
build-cross-aarch64:
|
||||
name: build-cross-aarch64
|
||||
|
|
@ -105,6 +145,8 @@ jobs:
|
|||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu16-cross-aarch64 .
|
||||
- name: Cross Build for AARCH64 on Ubuntu20
|
||||
run: DOCKER_BUILDKIT=1 docker build -f trunk/Dockerfile.builds --target ubuntu20-cross-aarch64 .
|
||||
outputs:
|
||||
SRS_BUILD_CROSS_AARCH64_DONE: ok
|
||||
|
||||
build:
|
||||
name: build
|
||||
|
|
@ -119,6 +161,8 @@ jobs:
|
|||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- run: echo 'Build done'
|
||||
outputs:
|
||||
SRS_BUILD_DONE: ok
|
||||
|
||||
utest:
|
||||
name: utest
|
||||
|
|
@ -135,10 +179,14 @@ jobs:
|
|||
# For regression-test
|
||||
- name: Run SRS regression-test
|
||||
run: docker run --rm srs:test bash -c 'make && (./objs/srs -c conf/regression-test.conf; ./etc/init.d/srs status) && cd 3rdparty/srs-bench && make && ./objs/srs_test -test.v'
|
||||
outputs:
|
||||
SRS_UTEST_DONE: ok
|
||||
|
||||
coverage:
|
||||
name: coverage
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- utest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
|
@ -166,6 +214,8 @@ jobs:
|
|||
--env SRS_BRANCH=$SRS_BRANCH --env SRS_PR=$SRS_PR --env SRS_SHA=$SRS_SHA --env SRS_PROJECT=$SRS_PROJECT \
|
||||
srs:cov bash -c 'make utest && ./objs/srs_utest && bash auto/codecov.sh'
|
||||
#
|
||||
outputs:
|
||||
SRS_COVERAGE_DONE: ok
|
||||
|
||||
multile-arch-armv7:
|
||||
name: multile-arch-armv7
|
||||
|
|
@ -186,6 +236,8 @@ jobs:
|
|||
--output "type=image,push=false" \
|
||||
--build-arg IMAGE=ossrs/srs:ubuntu20-cache \
|
||||
-f trunk/Dockerfile .
|
||||
outputs:
|
||||
SRS_MULTIPLE_ARCH_ARMV7_DONE: ok
|
||||
|
||||
multile-arch-aarch64:
|
||||
name: multile-arch-aarch64
|
||||
|
|
@ -206,10 +258,14 @@ jobs:
|
|||
--output "type=image,push=false" \
|
||||
--build-arg IMAGE=ossrs/srs:ubuntu20-cache \
|
||||
-f trunk/Dockerfile .
|
||||
outputs:
|
||||
SRS_MULTIPLE_ARCH_AARCH64_DONE: ok
|
||||
|
||||
multile-arch-amd64:
|
||||
name: multile-arch-amd64
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- utest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
|
@ -226,10 +282,13 @@ jobs:
|
|||
--output "type=image,push=false" \
|
||||
--build-arg IMAGE=ossrs/srs:ubuntu20-cache \
|
||||
-f trunk/Dockerfile .
|
||||
outputs:
|
||||
SRS_MULTIPLE_ARCH_AMD64_DONE: ok
|
||||
|
||||
done:
|
||||
name: done
|
||||
needs:
|
||||
- cygwin64
|
||||
- build
|
||||
- coverage
|
||||
- multile-arch-armv7
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue