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-gb28181: docker: - image: ossrs/srs:dev steps: - checkout - run: | echo "Build SRS with GB28181" && cd trunk && ./configure --gb28181=on && 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 --gb28181=on --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 workflows: version: 2 build_and_test: jobs: - build-c7-baseline - run-utest - run-regression-test - build-c7-nortc - build-c7-noasm - build-c7-gb28181 - 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