diff options
author | Phil Jones <philj56@gmail.com> | 2022-09-08 14:14:11 +0100 |
---|---|---|
committer | Phil Jones <philj56@gmail.com> | 2022-09-08 14:14:11 +0100 |
commit | 38fb64271e41c2f578da509e334932bd012a702c (patch) | |
tree | 2c6c4ce7d4b75c377d6bf25e37c4eefb70d96496 | |
parent | 7640634cedbfe876b924207ffbbf0d9989df1c22 (diff) |
Add GitHub actions workflow to test build process.
-rw-r--r-- | .github/workflows/build-test.yml | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 0000000..82d385f --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,104 @@ +name: Test build process + +on: + push: + paths-ignore: + - 'README.md' + - 'doc' + - 'themes' + + branches: + - master + - github-actions + +jobs: + ubuntu-20_04: + + runs-on: ubuntu-20.04 + + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install build-essential llvm clang meson scdoc \ + ninja-build libfreetype-dev libharfbuzz-dev libcairo-dev \ + libpango1.0-dev libwayland-dev wayland-protocols libxkbcommon-dev \ + python3-pip + + sudo pip3 install --upgrade meson + + # The version of GCC on Ubuntu 20.04 is too old to recognise + # [[attribute]] syntax, so skip the build there. + # + # Additionally, clang will raise unknown attribute errors, so don't + # enable werror. + + - name: Set clang as default compiler + run: sudo update-alternatives --set cc $(which clang) + + - name: Clang LTO build + run: | + meson build + ninja -C build + rm -rf build + + - name: Clang non-LTO build + run: | + meson build + meson configure build -Db_lto=false + ninja -C build + rm -rf build + + ubuntu-22_04: + + runs-on: ubuntu-22.04 + + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install build-essential llvm clang meson scdoc \ + ninja-build libfreetype-dev libharfbuzz-dev libcairo-dev \ + libpango1.0-dev libwayland-dev wayland-protocols libxkbcommon-dev \ + python3-pip + + sudo pip3 install --upgrade meson + + - name: GCC LTO build + run: | + meson build + meson configure build -Dwerror=true + ninja -C build + rm -rf build + + - name: GCC non-LTO build + run: | + meson build + meson configure build -Dwerror=true + meson configure build -Db_lto=false + ninja -C build + rm -rf build + + - name: Set clang as default compiler + run: sudo update-alternatives --set cc $(which clang) + + - name: Clang LTO build + run: | + meson build + meson configure build -Dwerror=true + ninja -C build + rm -rf build + + - name: Clang non-LTO build + run: | + meson build + meson configure build -Dwerror=true + meson configure build -Db_lto=false + ninja -C build + rm -rf build |