name: build
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
install_pa_sources:
|
|
name: install PA sources
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20')
|
|
# see https://github.com/actions/cache/issues/543
|
|
- name: Get operating system name and version.
|
|
id: os
|
|
run: echo "::set-output name=image::$ImageOS"
|
|
shell: bash
|
|
- uses: actions/checkout@v2
|
|
- name: Cache pulseaudio source
|
|
uses: actions/cache@v2
|
|
env:
|
|
cache-name: cache-pulseaudio-src
|
|
with:
|
|
path: ~/pulseaudio.src
|
|
key: ${{ steps.os.outputs.image }}-build-${{ env.cache-name }}
|
|
- run: scripts/install_pulseaudio_sources_apt.sh
|
|
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
|
|
- CC: gcc
|
|
|
|
- CC: clang
|
|
|
|
name: build with ${{ matrix.CC }}
|
|
runs-on: ubuntu-latest
|
|
needs: install_pa_sources
|
|
env:
|
|
CC: ${{ matrix.CC }}
|
|
CFLAGS: -Wall -Wextra -Werror
|
|
|
|
steps:
|
|
- name: Get operating system name and version.
|
|
id: os
|
|
run: echo "::set-output name=image::$ImageOS"
|
|
shell: bash
|
|
- name: Fetch pulseaudio sources
|
|
uses: actions/cache@v2
|
|
env:
|
|
cache-name: cache-pulseaudio-src
|
|
with:
|
|
path: ~/pulseaudio.src
|
|
key: ${{ steps.os.outputs.image }}-build-${{ env.cache-name }}
|
|
- uses: actions/checkout@v2
|
|
- run: sudo apt-get update
|
|
- run: sudo apt-get -yq install build-essential libpulse-dev
|
|
- run: ./bootstrap
|
|
- run: ./configure PULSE_DIR=~/pulseaudio.src
|
|
- run: make
|