You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
srs/.circleci/config.yml

169 lines
4.5 KiB
YAML

version: 2
jobs:
build-c7-baseline:
docker:
- image: ossrs/srs:dev
steps:
- checkout
- run: |
echo "Build SRS baseline" &&
cd trunk && ./configure && make
build-c7-nortc:
docker:
- image: ossrs/srs:dev
steps:
- checkout
- run: |
echo "Build SRS without RTC" &&
cd trunk && ./configure --rtc=off && make
build-c7-noasm:
docker:
- image: ossrs/srs:dev
steps:
- checkout
- run: |
echo "Build SRS without NASM or SRTP-NASM" &&
cd trunk && ./configure --nasm=off --srtp-nasm=off && make
build-c7-srt:
docker:
- image: ossrs/srs:dev
steps:
- checkout
- run: |
echo "Build SRS with SRT" &&
cd trunk && ./configure --srt=on && make
build-c8-baseline:
docker:
- image: ossrs/srs:dev8
steps:
- checkout
- run: |
echo "Build SRS for CentOS8" &&
cd trunk && ./configure && make
build-c8-srt:
docker:
- image: ossrs/srs:dev8
steps:
- checkout
- run: |
echo "Build SRS with SRT for CentOS8" &&
cd trunk && ./configure --srt=on && make
build-u16-baseline:
docker:
- image: ossrs/srs:ubuntu16
steps:
- checkout
- run: |
echo "Build SRS for Ubuntu16" &&
cd trunk && ./configure && make
build-u16-srt:
docker:
- image: ossrs/srs:ubuntu16
steps:
- checkout
- run: |
echo "Build SRS with SRT for Ubuntu16" &&
cd trunk && ./configure --srt=on && make
build-u18-baseline:
docker:
- image: ossrs/srs:ubuntu18
steps:
- checkout
- run: |
echo "Build SRS for Ubuntu18" &&
cd trunk && ./configure && make
build-u18-srt:
docker:
- image: ossrs/srs:ubuntu18
steps:
- checkout
- run: |
echo "Build SRS with SRT for Ubuntu18" &&
cd trunk && ./configure --srt=on && make
build-u20-baseline:
docker:
- image: ossrs/srs:ubuntu20
steps:
- checkout
- run: |
echo "Build SRS for Ubuntu20" &&
cd trunk && ./configure && make
build-u20-srt:
docker:
- image: ossrs/srs:ubuntu20
steps:
- checkout
- run: |
echo "Build SRS with SRT for Ubuntu20" &&
cd trunk && ./configure --srt=on && make
run-utest:
docker:
- image: ossrs/srs:dev
steps:
- checkout
- run: |
echo "Build and run utest for SRS" &&
cd trunk && ./configure --utest=on --gcov=on && make &&
./objs/srs_utest && bash auto/codecov.sh
run-regression-test:
docker:
- image: ossrs/srs:dev
steps:
- checkout
- run: |
echo "Build and run SRS with regression config" &&
cd trunk && ./configure && make && ./objs/srs -c conf/regression-test.conf &&
echo "Run srs-bench regression test" &&
cd 3rdparty/srs-bench && make && ./objs/srs_test -test.v
build-c7-ansi-noff:
docker:
- image: ossrs/srs:dev
steps:
- checkout
- run: |
echo "Build SRS C++98(ANSI), no FFmpeg-fit" &&
cd trunk && ./configure --cxx11=off --cxx14=off --ffmpeg-fit=off && make
build-cross-build-armv7:
docker:
- image: ossrs/srs:ubuntu16
steps:
- checkout
- run: |
echo "Cross build SRS for armv7" &&
cd trunk &&
./configure --cross-build --cc=arm-linux-gnueabihf-gcc --cxx=arm-linux-gnueabihf-g++ \
--ar=arm-linux-gnueabihf-ar --ld=arm-linux-gnueabihf-ld --randlib=arm-linux-gnueabihf-randlib &&
make
build-cross-build-aarch64:
docker:
- image: ossrs/srs:ubuntu16
steps:
- checkout
- run: |
echo "Cross build SRS for aarch64" &&
cd trunk &&
./configure --cross-build --cc=aarch64-linux-gnu-gcc --cxx=aarch64-linux-gnu-g++ \
--ar=aarch64-linux-gnu-ar --ld=aarch64-linux-gnu-ld --randlib=aarch64-linux-gnu-randlib &&
make
workflows:
version: 2
build_and_test:
jobs:
- build-c7-baseline
- run-utest
- run-regression-test
- build-c7-nortc
- build-c7-noasm
- build-c7-srt
- build-c8-baseline
- build-c8-srt
- build-u16-baseline
- build-u16-srt
- build-u18-baseline
- build-u18-srt
- build-u20-baseline
- build-u20-srt
- build-c7-ansi-noff
- build-cross-build-armv7
- build-cross-build-aarch64