Skip to content

Commit

Permalink
Add additional CI pipelines
Browse files Browse the repository at this point in the history
- Gentoo Linux GCC and Clang (via gentoo/stage3:nomultilib)
- GCC LTO (via fvwmorg/fvwm3-build)

While the issue with LTO builds has been resolved in this PR, it was
incidental and we should introduce a CI pipeline that will catch
LTO errors before they make it into a release.

Closes: fvwmorg#1056
Signed-off-by: Matt Jolly <[email protected]>
  • Loading branch information
Kangie committed Aug 17, 2024
1 parent 7172221 commit 972764b
Showing 1 changed file with 60 additions and 2 deletions.
62 changes: 60 additions & 2 deletions .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,64 @@ jobs:
- name: run build
run: ninja -C builddir

build-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

gentoo-build:
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-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
- 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

gentoo-build-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-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-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
Expand All @@ -45,7 +103,7 @@ jobs:
uses: Gottox/[email protected]
if: github.event_name == 'pull_request'
with:
server: "irc.libera.chat"
server: irc.libera.chat
notice: false
channel: "#fvwm"
nickname: fvwm3-gh-pr
Expand All @@ -54,7 +112,7 @@ jobs:
uses: Gottox/[email protected]
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
Expand Down

0 comments on commit 972764b

Please sign in to comment.