Skip to content

build

build #226

Workflow file for this run

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