bookmarkfs/.builds/freebsd.yml
CismonX 1e1460af0d
ci: add build.sr.ht configuration
Automate the building and testing process of BookmarkFS using the
builds.sr.ht service, to see whether it still works on:

- Debian, Arch Linux
  * Typical GNU/Linux distros, either stable or cutting-edge.
- Alpine Linux
  * Minimal non-GNU setup, notably BusyBox, TinyCC, musl and pdpmake.
- FreeBSD
  * FreeBSD kernel and userland, including Clang and others.
2025-02-27 10:08:26 +08:00

47 lines
1.6 KiB
YAML

#
# Copyright (C) 2025 CismonX <admin@cismon.net>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty, provided the copyright notice and
# this notice are preserved. This file is offered as-is, without any warranty.
#
image: freebsd/latest
packages: [
# build
autoconf, automake, libtool, autoconf-archive, pkgconf, texinfo,
# lib
fusefs-libs3, sqlite3, jansson, nettle, readline, tcl86, uriparser, xxhash,
]
sources:
- https://git.sr.ht/~cismonx/bookmarkfs
environment:
BUILD_CFLAGS: >-
-std=c99 -O0 -g -Wall -Wextra -Wpedantic -Wshadow
-fsanitize=address,undefined -fno-sanitize-recover
BUILD_CPPFLAGS: ""
tasks:
# Unlike Debian, FreeBSD Ports does not have a "dependency package" concept,
# and we have to manually create a symlink for Tcl's pkg-config file.
- init: |
cd /usr/local/libdata/pkgconfig
sudo ln -s tcl86.pc tcl.pc
- setup: |
mkdir bookmarkfs/build && cd bookmarkfs/build
autoreconf -i ..
../configure \
--enable-bookmarkfs-debug --enable-xxhash-inline \
--enable-bookmarkfs-util --enable-bookmarkfs-mount \
--enable-bookmarkfs-fsck --enable-bookmarkfs-mkfs \
--enable-bookmarkctl --enable-fsck-handler-tcl \
--enable-backend-firefox --enable-backend-chromium \
CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS"
- build: |
cd bookmarkfs/build
make
make info
- test: |
sudo kldload fusefs
sudo sysctl vfs.usermount=1
cd bookmarkfs/build
make check