diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 2d0570878..2fe6c326c 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -8,7 +8,7 @@ on: branches: - main jobs: - build: + build-autotools-gcc: runs-on: ubuntu-latest container: image: fvwmorg/fvwm3-build:latest @@ -24,7 +24,7 @@ jobs: - name: Autotools build run: make -j - build-meson: + build-meson-clang: runs-on: ubuntu-latest container: fvwmorg/fvwm3-build:latest steps: @@ -37,6 +37,66 @@ jobs: - name: run build run: ninja -C builddir + build-meson-gcc-lto: + runs-on: ubuntu-latest + container: fvwmorg/fvwm3-build:latest + steps: + - 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: CFLAGS="-flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" meson setup builddir -Dhtmldoc=true -Dmandoc=true -Dxent=true -Drsvg=true -Dpng=true -Dauto_features=enabled + - name: run build + run: ninja -C builddir + + build-gentoo-gcc: + runs-on: ubuntu-latest + container: + image: gentoo/stage3:nomultilib + steps: + - name: Install dependencies + run: > + emerge-webrsync && getuto && + echo "x11-wm/fvwm3" > /etc/portage/package.accept_keywords/foo && + echo "dev-build/meson" > /etc/portage/package.accept_keywords/meson && + echo "dev-python/pillow truetype" > /etc/portage/package.use/pillow && + USE="-harfbuzz" emerge media-libs/freetype && + emerge --autounmask-continue --getbinpkg --onlydeps x11-wm/fvwm3 && + emerge --getbinpkg dev-vcs/git dev-build/meson + - name: Check out repository code + uses: actions/checkout@v4 + - name: set git safe directory + run: git config --global --add safe.directory ${GITHUB_WORKSPACE} + - name: configure meson build + run: meson setup builddir + - name: run build + run: ninja -C builddir + + build-gentoo-clang: + runs-on: ubuntu-latest + container: + image: gentoo/stage3:nomultilib + steps: + - name: Install dependencies + run: > + emerge-webrsync && getuto && + echo "x11-wm/fvwm3" > /etc/portage/package.accept_keywords/foo && + echo "dev-build/meson" > /etc/portage/package.accept_keywords/meson && + echo "dev-python/pillow truetype" > /etc/portage/package.use/pillow && + USE="-harfbuzz" emerge media-libs/freetype && + emerge --autounmask-continue --getbinpkg --onlydeps x11-wm/fvwm3 && + emerge --getbinpkg sys-devel/clang sys-devel/lld dev-build/meson dev-vcs/git && + env-update + - name: Check out repository code + uses: actions/checkout@v4 + - name: set git safe directory + run: git config --global --add safe.directory ${GITHUB_WORKSPACE} + - name: configure meson build + run: . /etc/profile && CC=clang CC_LD=lld meson setup builddir + - name: run build + run: . /etc/profile && ninja -C builddir + notification: runs-on: ubuntu-20.04 name: notifications @@ -45,7 +105,7 @@ jobs: uses: Gottox/irc-message-action@v2.1.3 if: github.event_name == 'pull_request' with: - server: "irc.libera.chat" + server: irc.libera.chat notice: false channel: "#fvwm" nickname: fvwm3-gh-pr @@ -54,7 +114,7 @@ jobs: uses: Gottox/irc-message-action@v2.1.3 if: github.event_name == 'create' && github.event.ref_type == 'tag' with: - server: "irc.libera.chat" + server: irc.libera.chat notice: false channel: "#fvwm" nickname: fvwm-gh