Skip to content

CI: add tests for Fedora linux. #112

CI: add tests for Fedora linux.

CI: add tests for Fedora linux. #112

Workflow file for this run

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