- name: Install dependencies
shell: bash
run: |
+ # Enable multilib, for building 32bit binaries
+ echo -e '[multilib]\nInclude = /etc/pacman.d/mirrorlist' >> /etc/pacman.conf
# Semi-regularly the packager key may have (temporarily) expired.
# Somewhat robust solution is to wipe the local keyring and
# regenerate/reinstall it prior to any other packages on the system.
pacman --noconfirm -Sy archlinux-keyring
pacman --noconfirm -Su \
+ multilib-devel \
linux-headers \
meson \
scdoc \
build: ['meson', 'autotools']
container:
- name: 'ubuntu:22.04'
+ multilib: 'true'
- name: 'ubuntu:24.04'
+ multilib: 'true'
- name: 'archlinux:base-devel'
+ multilib: 'true'
- name: 'fedora:latest'
- name: 'alpine:latest'
meson_setup: '-D docs=false'
- name: 'debian:unstable'
+ multilib: 'true'
container:
image: ${{ matrix.container.name }}
- name: distcheck (autotools)
if: ${{ matrix.build == 'autotools' }}
run: cd build && make distcheck
+
+ - name: configure (32bit) (meson)
+ if: ${{ matrix.build == 'meson' && matrix.container.multilib == 'true' }}
+ run: mkdir build32 && cd build32 && CC='gcc -m32' meson setup . ..
+
+ - name: build (32bit) (meson)
+ if: ${{ matrix.build == 'meson' && matrix.container.multilib == 'true' }}
+ run: cd build32 && meson compile
+
+ - name: test (32bit) (meson)
+ if: ${{ matrix.build == 'meson' && matrix.container.multilib == 'true' }}
+ run: cd build32 && meson test