Skip to content

Rename the CI workflow to emphasize that tests are run #34

Rename the CI workflow to emphasize that tests are run

Rename the CI workflow to emphasize that tests are run #34

Workflow file for this run

name: Build and Test
on:
push:
branches:
- main
pull_request:
branches:
- main
types:
- opened
- synchronize
- reopened
permissions: read-all
jobs:
build-alpine:
name: Alpine Linux
runs-on: ubuntu-latest
timeout-minutes: 2
container:
image: alpine:latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install dependencies
run: |
apk add \
build-base \
check \
check-dev \
gcc \
meson \
ninja \
pkgconfig \
valgrind
- name: Configure
run: |
meson setup build \
-Denable-tests=true
- name: Build
run: meson compile -C build
- name: Run unit tests
run: meson test -C build
- name: Run memory profiling
run: meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
- name: Install
run: meson install -C build
- name: Uninstall
run: ninja -C build uninstall
build-archlinux:
name: Arch Linux
runs-on: ubuntu-latest
timeout-minutes: 2
container:
image: archlinux:latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install dependencies
run: |
pacman -Sy --noconfirm \
check \
gcc \
meson \
ninja \
pkgconfig \
valgrind
- name: Configure
run: |
meson setup build \
-Denable-tests=true
- name: Build
run: meson compile -C build
- name: Run unit tests
run: meson test -C build
- name: Install
run: meson install -C build
- name: Uninstall
run: ninja -C build uninstall
build-debian:
name: Debian Linux
runs-on: ubuntu-latest
timeout-minutes: 2
container:
image: debian:latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install dependencies
run: |
apt-get update
apt-get install --assume-yes --no-install-recommends \
build-essential \
check \
meson \
ninja-build \
pkg-config \
valgrind
- name: Configure
run: |
meson setup build \
-Denable-tests=true
- name: Build
run: meson compile -C build
- name: Run unit tests
run: meson test -C build
- name: Run memory profiling
run: meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
- name: Install
run: meson install -C build
- name: Uninstall
run: ninja -C build uninstall
build-fedora:
name: Fedora Linux
runs-on: ubuntu-latest
timeout-minutes: 2
container:
image: fedora:latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install dependencies
run: |
dnf --setopt=install_weak_deps=False --assumeyes install \
check \
check-devel \
gcc \
meson \
ninja-build \
valgrind
- name: Configure
run: |
meson setup build \
-Denable-tests=true
- name: Build
run: meson compile -C build
- name: Run unit tests
run: meson test -C build
- name: Run memory profiling
run: meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
- name: Install
run: sudo meson install -C build
- name: Uninstall
run: sudo ninja -C build uninstall
build-ubuntu:
name: Ubuntu Linux
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --assume-yes --no-install-recommends \
check \
meson \
ninja-build \
valgrind
- name: Configure
run: |
meson setup build \
-Denable-tests=true
- name: Build
run: meson compile -C build
- name: Run unit tests
run: meson test -C build
- name: Run memory profiling
run: meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
- name: Install
run: sudo meson install -C build
- name: Uninstall
run: sudo ninja -C build uninstall
build-macos:
name: macOS
runs-on: macos-latest
timeout-minutes: 2
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_AUTO_UPDATE: 1
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install dependencies
run: |
brew update
brew install \
check \
meson
- name: Configure
run: |
meson setup build \
-Denable-tests=true
- name: Build
run: meson compile -C build
- name: Run unit tests
run: meson test -C build
- name: Install
run: sudo meson install -C build
- name: Uninstall
run: sudo ninja -C build uninstall
build-dflybsd:
name: DragonflyBSD
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build on VM
uses: vmactions/dragonflybsd-vm@e3c420e8a2362c2496fca6e76a291abd46f5d8e7
with:
copyback: false
usesh: true
prepare: |
pkg install -y \
check \
meson \
pkgconf
run: |
set -e
meson setup build \
-Denable-tests=true
meson compile -C build
meson test -C build
meson install -C build
ninja -C build uninstall
build-freebsd:
name: FreeBSD
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build on VM
uses: vmactions/freebsd-vm@966989c456d41351f095a421f60e71342d3bce41
with:
copyback: false
prepare: |
pkg install -y \
check \
meson \
pkgconf \
valgrind
run: |
set -e
meson setup build \
-Denable-tests=true
meson compile -C build
meson test -C build
meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
meson install -C build
ninja -C build uninstall
build-netbsd:
name: NetBSD
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build on VM
uses: vmactions/netbsd-vm@46a58bbf03682b4cb24142b97fa315ae52bed573
with:
copyback: false
prepare: |
export PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r|cut -f '1 2' -d.)/All/"
pkg_add \
check \
meson \
pkg-config
run: |
set -e
meson setup build \
-Denable-tests=true
meson compile -C build
meson test -C build
meson install -C build
ninja -C build uninstall
build-openbsd:
name: OpenBSD
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build on VM
uses: vmactions/openbsd-vm@0d65352eee1508bab7cb12d130536d3a556be487
with:
copyback: false
prepare: |
pkg_add -I \
check \
meson \
pkgconf
run: |
set -e
meson setup build \
-Denable-tests=true
meson compile -C build
meson test -C build
meson install -C build
ninja -C build uninstall
build-omnios:
name: OmniOS
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build on VM
uses: vmactions/omnios-vm@8eba2a9217262f275d4566751a92d6ef2f433d00
with:
copyback: false
prepare: |
pkg install \
build-essential \
pkg-config
curl -O https://pkgsrc.smartos.org/packages/SmartOS/bootstrap/bootstrap-trunk-x86_64-20240116.tar.gz
tar -zxpf bootstrap-trunk-x86_64-20240116.tar.gz -C /
export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH
pkgin -y install \
check \
meson
run: |
set -e
export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH
meson setup build \
-Denable-tests=true \
-Dpkg_config_path=/opt/local/lib/pkgconfig
meson compile -C build
meson test -C build
meson install -C build
ninja -C build uninstall
build-solaris:
name: Solaris
runs-on: ubuntu-latest
timeout-minutes: 12
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build on VM
uses: vmactions/solaris-vm@170f1f96f376cf7467cc41627e0c7590932fccaa
with:
copyback: false
prepare: |
set -e
pkg install \
check \
gcc \
meson \
ninja \
pkg-config
run: |
set -e
export PATH=/usr/local/sbin:/usr/local/bin:$PATH
meson setup build \
-Denable-tests=true \
-Dpkg_config_path=/usr/lib/amd64/pkgconfig
meson compile -C build
meson test -C build
meson install -C build
ninja -C build uninstall