build #218
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "build" | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- v* | |
pull_request: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 * * 1' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
native-build-download-all: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- name: Install system dependencies | |
run: | | |
./scripts/install_system_dependencies.sh | |
- name: Build roc-pulse | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. | |
make VERBOSE=1 | |
- name: Install roc-pulse | |
run: | | |
set -ex | |
cd build | |
sudo make install | |
native-build-system-roc: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- name: Install system dependencies | |
run: | | |
./scripts/install_system_dependencies.sh | |
- name: Download roc-toolkit | |
run: | | |
./scripts/download_roc.sh ./roc-toolkit | |
- name: Build and install roc-toolkit | |
run: | | |
./scripts/build_and_install_roc.sh ./roc-toolkit /usr/local | |
- name: Build roc-pulse | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. -DDOWNLOAD_ROC=OFF | |
make VERBOSE=1 | |
- name: Install roc-pulse | |
run: | | |
set -ex | |
cd build | |
sudo make install | |
native-build-external-roc: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- name: Install system dependencies | |
run: | | |
./scripts/install_system_dependencies.sh | |
- name: Download roc-toolkit | |
run: | | |
./scripts/download_roc.sh ./roc-toolkit | |
- name: Build and install roc-toolkit | |
run: | | |
./scripts/build_and_install_roc.sh ./roc-toolkit ./roc-install | |
- name: Build roc-pulse | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. \ | |
-DDOWNLOAD_ROC=OFF \ | |
-DROC_INCLUDE_DIR=./roc-install/include \ | |
-DROC_LIB_DIR=./roc-install/lib | |
make VERBOSE=1 | |
- name: Install roc-pulse | |
run: | | |
set -ex | |
cd build | |
sudo make install | |
native-build-external-pulse-and-system-libtool: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install system dependencies | |
run: | | |
./scripts/install_system_dependencies.sh | |
- name: Download pulseaudio | |
run: | | |
./scripts/download_pulseaudio.sh ./pulseaudio "12.2" | |
- name: Build roc-pulse | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. \ | |
-DDOWNLOAD_PULSEAUDIO=OFF \ | |
-DDOWNLOAD_LIBTOOL=OFF \ | |
-DPULSEAUDIO_DIR=./pulseaudio \ | |
-DPULSEAUDIO_VERSION=12.2 | |
make VERBOSE=1 | |
- name: Install roc-pulse | |
run: | | |
set -ex | |
cd build | |
sudo make install | |
cross-build-download-all: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- uses: addnab/docker-run-action@v3 | |
with: | |
image: rocstreaming/toolchain-aarch64-linux-gnu | |
options: -v ${{ github.workspace }}:/work -w /work | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. -DTOOLCHAIN_PREFIX=aarch64-linux-gnu -DPULSEAUDIO_VERSION=12.2 | |
make VERBOSE=1 | |
cross-build-external-roc: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- name: Install system dependencies | |
run: | | |
./scripts/install_system_dependencies.sh | |
- name: Download roc-toolkit | |
run: | | |
./scripts/download_roc.sh ./roc-toolkit | |
- uses: addnab/docker-run-action@v3 | |
with: | |
image: rocstreaming/toolchain-aarch64-linux-gnu | |
options: -v ${{ github.workspace }}:/work -w /work | |
run: | | |
set -ex | |
./scripts/build_and_install_roc.sh ./roc-toolkit ./roc-install aarch64-linux-gnu | |
mkdir build | |
cd build | |
cmake .. \ | |
-DTOOLCHAIN_PREFIX=aarch64-linux-gnu \ | |
-DDOWNLOAD_ROC=OFF \ | |
-DROC_INCLUDE_DIR=./roc-install/include \ | |
-DROC_LIB_DIR=./roc-install/lib \ | |
-DPULSEAUDIO_VERSION=12.2 | |
make VERBOSE=1 | |
cross-build-external-pulse-and-libtool: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Download pulseaudio | |
run: | | |
./scripts/download_pulseaudio.sh ./pulseaudio "12.2" | |
- name: Download libtool | |
run: | | |
./scripts/download_libtool.sh ./libtool "2.4.6" | |
- uses: addnab/docker-run-action@v3 | |
with: | |
image: rocstreaming/toolchain-aarch64-linux-gnu | |
options: -v ${{ github.workspace }}:/work -w /work | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. \ | |
-DTOOLCHAIN_PREFIX=aarch64-linux-gnu \ | |
-DDOWNLOAD_PULSEAUDIO=OFF \ | |
-DPULSEAUDIO_DIR=./pulseaudio \ | |
-DPULSEAUDIO_VERSION=12.2 \ | |
-DDOWNLOAD_LIBTOOL=OFF \ | |
-DLIBTOOL_DIR=./libtool | |
make VERBOSE=1 | |
pulse-versions: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
pulse_ver: | |
- '4.0' | |
- '5.0' | |
- '8.0' | |
- '10.0' | |
- '11.1' | |
- '12.2' | |
- '13.99.1' | |
- '14.2' | |
- '15.0' | |
- '16.1' | |
- '17.0' | |
mode: | |
- native | |
- cross-compile | |
name: pulse-versions/${{ matrix.pulse_ver }}/${{ matrix.mode }} | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- name: Install native dependencies | |
if: ${{ matrix.mode == 'native' }} | |
run: | | |
./scripts/install_system_dependencies.sh | |
- name: Native build | |
if: ${{ matrix.mode == 'native' }} | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. \ | |
-DPULSEAUDIO_VERSION=${{ matrix.pulse_ver }} | |
make VERBOSE=1 | |
- name: Cross build | |
if: ${{ matrix.mode != 'native' }} | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: rocstreaming/toolchain-aarch64-linux-gnu | |
options: -v ${{ github.workspace }}:/work -w /work | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. \ | |
-DTOOLCHAIN_PREFIX=aarch64-linux-gnu \ | |
-DPULSEAUDIO_VERSION=${{ matrix.pulse_ver }} | |
make VERBOSE=1 | |
linux-versions: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- distro: ubuntu-24.04 | |
image: rocstreaming/env-ubuntu:24.04 | |
- distro: ubuntu-22.04 | |
image: rocstreaming/env-ubuntu:22.04 | |
- distro: ubuntu-20.04 | |
image: rocstreaming/env-ubuntu:20.04 | |
- distro: ubuntu-18.04 | |
image: rocstreaming/env-ubuntu:18.04 | |
- distro: ubuntu-16.04 | |
image: rocstreaming/env-ubuntu:16.04 | |
name: linux-versions/${{ matrix.distro }} | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- uses: addnab/docker-run-action@v3 | |
with: | |
image: ${{ matrix.image }} | |
options: -v ${{ github.workspace }}:/work -w /work | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. | |
make VERBOSE=1 | |
make install | |
toolchains: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- toolchain: aarch64-linux-gnu | |
image: rocstreaming/toolchain-aarch64-linux-gnu:gcc-7.4 | |
pulse_ver: '15.99.1' | |
- toolchain: aarch64-linux-gnu | |
image: rocstreaming/toolchain-aarch64-linux-gnu:gcc-7.4 | |
pulse_ver: '12.2' | |
- toolchain: arm-linux-gnueabihf | |
image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-4.9 | |
pulse_ver: '10.0' | |
- toolchain: arm-bcm2708hardfp-linux-gnueabi | |
image: rocstreaming/toolchain-arm-bcm2708hardfp-linux-gnueabi:gcc-4.7 | |
pulse_ver: '8.0' | |
name: toolchains/${{ matrix.toolchain }} | |
steps: | |
- name: Checkout roc-pulse | |
uses: actions/checkout@v3 | |
- uses: addnab/docker-run-action@v3 | |
with: | |
image: ${{ matrix.image }} | |
options: -v ${{ github.workspace }}:/work -w /work | |
run: | | |
set -ex | |
mkdir build | |
cd build | |
cmake .. \ | |
-DTOOLCHAIN_PREFIX=${{ matrix.toolchain }} \ | |
-DPULSEAUDIO_VERSION=${{ matrix.pulse_ver }} | |
make VERBOSE=1 |