From 0704e3bd6dd8bec7252ef34ef4799b478366969f Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 15 Jan 2022 11:50:11 -0800 Subject: [PATCH 1/2] Brewfile: install the latest CMake Earlier we had trouble with CMake 3.20, and reverting to 3.16 worked around the problem. However this version is no longer available in homebrew, so the `brew bundle` step is failing in github ci. Try installing the latest version instead. Currently that's CMake 3.22.1. --- Brewfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Brewfile b/Brewfile index 344718b..c8a7fd9 100644 --- a/Brewfile +++ b/Brewfile @@ -5,5 +5,5 @@ brew 'autoconf' brew 'automake' brew 'libtool' brew 'pkg-config' -brew 'cmake@3.16' +brew 'cmake' brew 'doxygen' From ec63ede671f9af57e1bde766586f923183ae99a0 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Thu, 29 Jul 2021 11:36:55 -0700 Subject: [PATCH 2/2] github actions: add build description Add basic builds on Ubuntu and macOS hosts for Github's CI automation. Each builds with either GNU Autotools, CMake, or the plain Makefile, and then builds the documentation. This gives some feedback on pull requests submitted through github. Based on similar code from libopusenc, borrowing steps from the ci scripts directory and .travis-ci.yml. --- .github/workflows/build.yml | 99 +++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..7758fae --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,99 @@ +name: GitHub CI + +on: + push: + pull_request: + schedule: + - cron: '0 0 1 * *' + +jobs: + build: + strategy: + matrix: + name: + [ + ubuntu-autotools, + ubuntu-cmake, + ubuntu-makefile, + macos-autotools, + macos-cmake, + macos-makefile, + ] + include: + + - name: ubuntu-autotools + os: ubuntu-latest + build-system: autotools + + - name: ubuntu-cmake + os: ubuntu-latest + build-system: cmake + + - name: ubuntu-makefile + os: ubuntu-latest + build-system: makefile + + - name: macos-autotools + os: macos-latest + build-system: autotools + + - name: macos-cmake + os: macos-latest + build-system: cmake + + - name: macos-makefile + os: macos-latest + build-system: makefile + + runs-on: ${{ matrix.os }} + + env: + BUILD: _build + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Install Linux dependencies + if: startsWith(matrix.os,'ubuntu') + run: | + sudo apt-get update + sudo apt-get install -y libopus-dev libogg-dev libssl-dev + sudo apt-get install -y doxygen graphviz + + - name: Install macOS dependencies + if: startsWith(matrix.os,'macos') + run: | + brew bundle + + - name: Build with Autotools + if: startsWith(matrix.build-system,'autotools') + run: | + ./autogen.sh + ./configure + make + make check + + - name: distcheck with Autotools + if: startsWith(matrix.build-system,'autotools') + run: | + make distcheck + + - name: Build with Makefile + if: startsWith(matrix.build-system,'makefile') + run: | + make -C unix + make -C unix check + + - name: Build Documentation + if: ${{ ! startsWith(matrix.build-system,'cmake') }} + run: | + make -C doc + + - name: Build with CMake + if: startsWith(matrix.build-system,'cmake') + run: | + cmake -S . -B ${{ env.BUILD }} + cmake --build ${{ env.BUILD }} + ctest --test-dir ${{ env.BUILD }} -V -C Debug