From d27d3339ce987549766e5877a4fe7fce0e8dd020 Mon Sep 17 00:00:00 2001 From: Matt Jolly Date: Sat, 6 Apr 2024 02:37:08 +1000 Subject: [PATCH] CI: Update for meson build We now include a Meson build that uses Clang + lld as the build system to catch bugs and warnings that our traditional autotools + GCC builds might miss. This commit changes the autotools build to be more like the meson build path: We no longer build a docker image, rather directly executing the fvwm3-build container as a github action. The Go version in fvwm3-tools has been updated to enable use with meson and eliminate the need for a complex envvar setup and invocation, however older golang is still supported (>=1.14); we're just relying on users to tell us if something is broken. --- .github/workflows/ccpp.yml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 7862ea23f..99462ce86 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -10,13 +10,32 @@ on: jobs: build: runs-on: ubuntu-latest + container: + image: fvwmorg/fvwm3-build:latest + env: + GO111MODULE: "on" + steps: + - name: checkout + uses: actions/checkout@v4 + - name: set git safe directory + run: git config --global --add safe.directory ${GITHUB_WORKSPACE} + - name: Autotools configure + run: ./autogen.sh && ./configure --enable-mandoc --enable-golang + - name: Autotools build + run: make -j + build-meson: + runs-on: ubuntu-latest + container: fvwmorg/fvwm3-build:latest steps: - - uses: actions/checkout@v2 - - name: Pulling docker image - run: docker pull fvwmorg/fvwm3-build:latest - - name: Build Package - run: 'docker build -t fvwm3 .' + - name: checkout + uses: actions/checkout@v4 + - name: set git safe directory + run: git config --global --add safe.directory ${GITHUB_WORKSPACE} + - name: configure meson build + run: CC=clang CC_LD=lld meson setup builddir -Dhtmldoc=true -Dmandoc=true -Dauto_features=enabled + - name: run build + run: ninja -C builddir notification: runs-on: ubuntu-20.04