|
|
|
|
|
|
|
|
jobs: |
|
|
jobs: |
|
|
build: |
|
|
build: |
|
|
|
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
|
|
|
runs-on: ${{ matrix.os }} |
|
|
|
|
|
|
|
|
name: Build with ${{ matrix.sanitizer }} sanitizer on ${{ matrix.arch }} |
|
|
|
|
|
|
|
|
name: Build with ${{ matrix.sanitizer }} sanitizer on ${{ matrix.os }} ${{ matrix.arch }} |
|
|
strategy: |
|
|
strategy: |
|
|
fail-fast: false |
|
|
fail-fast: false |
|
|
matrix: |
|
|
matrix: |
|
|
|
|
|
os: [ubuntu-latest, macos-latest] |
|
|
arch: [x86-64, x86-32] |
|
|
arch: [x86-64, x86-32] |
|
|
sanitizer: [no, address, leak, memory, thread, undefined, valgrind] |
|
|
sanitizer: [no, address, leak, memory, thread, undefined, valgrind] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sanitizer: memory |
|
|
sanitizer: memory |
|
|
- arch: x86-32 |
|
|
- arch: x86-32 |
|
|
sanitizer: thread |
|
|
sanitizer: thread |
|
|
|
|
|
# 32-bit macOS is not supported |
|
|
|
|
|
- os: macos-latest |
|
|
|
|
|
arch: x86-32 |
|
|
|
|
|
# These are not supported on macos |
|
|
|
|
|
- os: macos-latest |
|
|
|
|
|
sanitizer: leak |
|
|
|
|
|
- os: macos-latest |
|
|
|
|
|
sanitizer: memory |
|
|
|
|
|
- os: macos-latest |
|
|
|
|
|
sanitizer: valgrind |
|
|
|
|
|
|
|
|
steps: |
|
|
steps: |
|
|
- uses: actions/checkout@v2 |
|
|
- uses: actions/checkout@v2 |
|
|
- name: enable 32bit architecture |
|
|
- name: enable 32bit architecture |
|
|
run: sudo dpkg --add-architecture i386 |
|
|
run: sudo dpkg --add-architecture i386 |
|
|
if: matrix.arch == 'x86-32' |
|
|
if: matrix.arch == 'x86-32' |
|
|
- name: dependencies |
|
|
|
|
|
|
|
|
- name: dependencies-apt |
|
|
|
|
|
if: matrix.os == 'ubuntu-latest' |
|
|
run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown ${{ matrix.deps }} ${{ matrix.archdeps }} |
|
|
run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown ${{ matrix.deps }} ${{ matrix.archdeps }} |
|
|
|
|
|
- name: dependencies-brew |
|
|
|
|
|
if: matrix.os == 'macos-latest' |
|
|
|
|
|
run: brew install libtool automake ronn OJFord/homebrew-formulae/kramdown ${{ matrix.archdeps }} |
|
|
- name: autoconf |
|
|
- name: autoconf |
|
|
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 |
|
|
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 |
|
|
- name: configure |
|
|
- name: configure |