Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .github/workflows/abi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,20 @@ jobs:
build:
name: ABI checks
runs-on: ubuntu-20.04
# Skip on PRs - only run on direct pushes to master
if: github.event_name != 'pull_request'

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
path: pull_request

- name: configure
run: |
cd pull_request
mkdir _build && cd _build
cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_UNITTESTS=ON ../

- name: build
run: |
sudo apt install -y abi-dumper
Expand All @@ -32,22 +36,26 @@ jobs:
abi-dumper libsrt.so -o libsrt-pr.dump -public-headers installdir/usr/local/include/srt/ -lver 0
SRT_BASE="v1.$SRT_TAG_VERSION.0"
echo "SRT_BASE=$SRT_BASE" >> "$GITHUB_ENV"
- uses: actions/checkout@v3

- uses: actions/checkout@v4
with:
path: tag
ref: ${{ env.SRT_BASE }}

- name: configure_tag
run: |
echo $SRT_TAG_VERSION
cd tag
mkdir _build && cd _build
cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_UNITTESTS=ON ../

- name: build_tag
run: |
cd tag
cd _build && cmake --build ./
make install DESTDIR=./installdir
abi-dumper libsrt.so -o libsrt-tag.dump -public-headers installdir/usr/local/include/srt/ -lver 1

- name: abi-check
run: |
git clone https://github.com/lvc/abi-compliance-checker.git
Expand Down
22 changes: 9 additions & 13 deletions .github/workflows/android.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,15 @@ on:

jobs:
build:
name: NDK-R23
runs-on: ubuntu-20.04
name: Android-ndk-${{ matrix.ndk }}
runs-on: ubuntu-latest
# Skip on PRs - only run on direct pushes to master
if: github.event_name != 'pull_request'
strategy:
matrix:
ndk: [25, 26]

steps:
- name: Setup Android NDK R23
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r23
add-to-path: false
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: build
run: |
cd ./scripts/build-android/
echo ${{ steps.setup-ndk.outputs.ndk-path }}
source ./build-android -n ${{ steps.setup-ndk.outputs.ndk-path }}
run: docker run -v $(pwd):/tmp/srt ynoproject/android-ndk:r${{ matrix.ndk }} /bin/bash -c "cd /tmp/srt && cmake -DENABLE_ENCRYPTION=OFF -DANDROID_PLATFORM=android-28 -DCMAKE_TOOLCHAIN_FILE=/opt/android-sdk/ndk/25.2.9519653/build/cmake/android.toolchain.cmake . && make"
48 changes: 48 additions & 0 deletions .github/workflows/build-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Build Check

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

jobs:
build:
name: Build ${{ matrix.arch }}
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: amd64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-24.04-arm
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake git libssl-dev pkg-config tclsh

- name: Build SRT
run: |
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_APPS=OFF \
-DENABLE_BONDING=ON \
-DENABLE_ENCRYPTION=ON
cmake --build build -j$(nproc)

- name: Verify library was built
run: |
find build -name "libsrt.so*" -ls
file build/libsrt.so*

- name: Build Summary
run: |
echo "## ✅ Build Check Passed" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Architecture:** ${{ matrix.arch }}" >> $GITHUB_STEP_SUMMARY
echo "**Runner:** ${{ matrix.runner }}" >> $GITHUB_STEP_SUMMARY
12 changes: 7 additions & 5 deletions .github/workflows/cxx11-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,18 @@ jobs:
runs-on: macos-latest

steps:
- name: GoogleTest
run: |
curl -o googletest.rb https://raw.githubusercontent.com/Homebrew/homebrew-core/23e7fb4dc0cc73facc3772815741e1deb87d6406/Formula/googletest.rb
brew install -s googletest.rb
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install GoogleTest
run: brew install googletest
- name: configure
run: |
mkdir _build && cd _build
cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DUSE_CXX_STD=14

- name: build
run: cd _build && cmake --build ./

- name: test
run: cd _build && ctest --extra-verbose
18 changes: 11 additions & 7 deletions .github/workflows/cxx11-win.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,21 @@ on:

jobs:
build:

name: windows
runs-on: windows-latest
# Skip on PRs - only run on direct pushes to master
if: github.event_name != 'pull_request'

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: configure
run: |
md _build && cd _build
cmake ../ -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DUSE_CXX_STD=c++11
mkdir _build
cd _build
cmake ../ -DENABLE_STDCXX_SYNC=ON

- name: build
run: cd _build && cmake --build ./ --config Release --verbose
- name: test
run: cd _build && ctest -E "TestIPv6.v6_calls_v4|TestConnectionTimeout.BlockingLoop" --extra-verbose -C Release
run: |
cd _build
cmake --build . --config Release
13 changes: 8 additions & 5 deletions .github/workflows/iOS.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,21 @@ on:

jobs:
build:
name: iOS-cxxsync${{ matrix.cxxstdsync }}
runs-on: macos-latest
# Skip on PRs - only run on direct pushes to master
if: github.event_name != 'pull_request'
strategy:
matrix:
cxxstdsync: [OFF, ON]

name: iOS-cxxsync${{ matrix.cxxstdsync }}
runs-on: macos-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: configure
run: |
mkdir _build && cd _build
cmake ../ -DENABLE_ENCRYPTION=OFF -DENABLE_STDCXX_SYNC=${{matrix.cxxstdsync}} -DENABLE_UNITTESTS=OFF -DENABLE_BONDING=ON --toolchain scripts/iOS.cmake
cmake ../ -DENABLE_ENCRYPTION=OFF -DENABLE_STDCXX_SYNC=${{matrix.cxxstdsync}} -DENABLE_UNITTESTS=OFF -DENABLE_BONDING=ON --toolchain ../scripts/iOS.cmake

- name: build
run: cd _build && cmake --build ./
Loading
Loading