CI: add tests for Fedora linux. #112
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
pull_request: | |
jobs: | |
build-linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
container: [ "ubuntu:22.04", "ubuntu:latest", "debian:12", "debian:11", "archlinux:base", "almalinux:8", "almalinux:9", "opensuse/leap", "fedora:39", "fedora:40" ] | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ matrix.container }} | |
options: --privileged | |
steps: | |
- name: install packages | |
run: | | |
uname -a | |
case "${{ matrix.container }}" in | |
ubuntu*|debian*) | |
apt-get update -q | |
apt-get upgrade -qy | |
apt-get install -qy make gcc libx11-dev ncurses-dev | |
;; | |
archlinux*) | |
pacman -Syyu --noconfirm make gcc libx11 ncurses | |
;; | |
almalinux*) | |
dnf update -y | |
dnf install -y make gcc libX11-devel ncurses-devel | |
;; | |
opensuse*) | |
zypper update -y | |
zypper install -y gzip tar # for actions/checkout@v4 | |
zypper install -y make gcc libX11-devel ncurses-devel | |
;; | |
fedora*) | |
dnf update -y | |
dnf install -y make gcc libX11-devel ncurses-devel | |
;; | |
esac | |
- uses: actions/checkout@v4 | |
- name: configure and make | |
run: | | |
sh -c "echo 0 > /proc/sys/kernel/randomize_va_space" | |
cp src/config.h-linux src/config.h | |
make | |
make install | |
build-linux-qemu: | |
name: "build-linux qemu" | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: [386, arm, arm64] | |
include: | |
- arch: 386 | |
image: i386/ubuntu:latest | |
platform: linux/386 | |
- arch: arm | |
image: arm32v7/ubuntu:latest | |
platform: linux/arm/v7 | |
- arch: arm64 | |
image: arm64v8/ubuntu:latest | |
platform: linux/arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: ${{ matrix.arch }} | |
- name: Run build process with Docker | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: ${{ matrix.image }} | |
options: | | |
--privileged | |
--platform ${{ matrix.platform }} | |
--volume ${{ github.workspace }}:/build | |
--workdir /build | |
run: | | |
uname -a | |
apt-get update -q | |
apt-get upgrade -qy | |
apt-get install -qy make gcc libx11-dev ncurses-dev | |
sysctl kernel.randomize_va_space=0 | |
cp src/config.h-linux src/config.h | |
make | |
make install | |
build-netbsd: | |
name: "build-netbsd (NetBSD/amd64 10.0 with pkgsrc)" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install packages and run configure and make (on the NetBSD VM) | |
uses: vmactions/netbsd-vm@v1 | |
with: | |
release: "10.0" | |
copyback: false | |
prepare: | | |
uname -a | |
ftp -o - https://cdn.NetBSD.org/pub/NetBSD/NetBSD-`uname -r`/amd64/binary/sets/xbase.tar.xz | tar -C / -zxpf - ./usr/X11R7/bin ./usr/X11R7/include ./usr/X11R7/lib ./usr/X11R7/share | |
ftp -o - https://cdn.NetBSD.org/pub/NetBSD/NetBSD-`uname -r`/amd64/binary/sets/xcomp.tar.xz | tar -C / -zxpf - ./usr/X11R7/include ./usr/X11R7/lib ./usr/X11R7/share | |
run: | | |
cp src/config.h-netbsd src/config.h | |
make | |
make install |