Skip to content

build

build #317

Workflow file for this run

name: "build"
on:
push:
branches:
- main
tags:
- v*
pull_request:
repository_dispatch:
types:
- trigger_build
workflow_dispatch:
schedule:
- cron: '0 0 * * 1'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
# devloper build (using doit)
linux-devel:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: default
flags:
libs: pipewire libpipewire-0.3-dev libspa-0.2-dev
init: systemctl --user start pipewire
- name: pipewire
flags: features=daemon,driver-tests,pipewire
libs: pipewire libpipewire-0.3-dev libspa-0.2-dev
init: systemctl --user start pipewire
- name: minimal-daemon
flags: features=daemon
libs:
- name: minimal-lib
flags: features=
libs:
name: linux-dev/${{ matrix.name }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install libs
uses: roc-streaming/ci/actions/install-packages@main
with:
packages: ${{ matrix.libs }}
- name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install doit
run: |
pip install doit
- name: Run init
run: |
${{ matrix.init }}
- name: Dev profile
run: |
doit all ${{ matrix.flags }}
- name: Release profile
run: |
doit all profile=release ${{ matrix.flags }}
# user build (using cargo install)
linux-user:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: default
flags: --features=
libs:
- name: pipewire
flags: --features=pipewire
libs: libpipewire-0.3-dev libspa-0.2-dev
name: linux-user/${{ matrix.name }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install libs
uses: roc-streaming/ci/actions/install-packages@main
with:
packages: ${{ matrix.libs }}
- name: Install
run: |
cargo install --path . ${{ matrix.flags }}
- name: Check
run: |
rocd --help
# documentation build (using docker)
linux-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build docs
run: |
./script/generate_docs.py