mirror of
https://git.sr.ht/~cismonx/bookmarkfs
synced 2025-06-07 19:58:50 +00:00
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.
This commit is contained in:
parent
b7b8cc88d2
commit
1e1460af0d
4 changed files with 176 additions and 0 deletions
46
.builds/alpine.yml
Normal file
46
.builds/alpine.yml
Normal file
|
@ -0,0 +1,46 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# Switch to alpine/latest once tcc leaves aports/testing
|
||||
image: alpine/edge
|
||||
packages: [
|
||||
# build
|
||||
autoconf, automake, libtool, autoconf-archive, pkgconf, pdpmake, tcc,
|
||||
texinfo, musl-dev, tcc-dev, tcc-libs-static,
|
||||
# lib
|
||||
fuse3-dev, libseccomp-dev, sqlite-dev, jansson-dev, nettle-dev,
|
||||
readline-dev, tcl-dev, uriparser-dev, xxhash-dev,
|
||||
# for fusermount3(1)
|
||||
fuse3,
|
||||
]
|
||||
sources:
|
||||
- https://git.sr.ht/~cismonx/bookmarkfs
|
||||
environment:
|
||||
BUILD_CFLAGS: -g -b -Wall -Wunsupported -Werror=unsupported
|
||||
# While musl does support _GNU_SOURCE,
|
||||
# here is a good place to see how well BookmarkFS works with a non-GNU libc.
|
||||
BUILD_CPPFLAGS: -D_DEFAULT_SOURCE
|
||||
tasks:
|
||||
# Use srcdir as builddir, since pdpmake does not support VPATH.
|
||||
- setup: |
|
||||
cd bookmarkfs
|
||||
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 \
|
||||
CC=tcc CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS"
|
||||
- build: |
|
||||
cd bookmarkfs
|
||||
pdpmake
|
||||
pdpmake info
|
||||
- test: |
|
||||
cd bookmarkfs
|
||||
pdpmake check
|
40
.builds/archlinux.yml
Normal file
40
.builds/archlinux.yml
Normal file
|
@ -0,0 +1,40 @@
|
|||
#
|
||||
# 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: archlinux
|
||||
packages: [
|
||||
# build
|
||||
autoconf, automake, libtool, autoconf-archive, pkgconf, make, gcc, texinfo,
|
||||
# lib
|
||||
fuse3, libseccomp, sqlite, jansson, nettle, readline, tcl, 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: -D_GNU_SOURCE
|
||||
tasks:
|
||||
- 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: |
|
||||
cd bookmarkfs/build
|
||||
make check
|
43
.builds/debian.yml
Normal file
43
.builds/debian.yml
Normal file
|
@ -0,0 +1,43 @@
|
|||
#
|
||||
# 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: debian/stable
|
||||
packages: [
|
||||
# build
|
||||
autoconf, automake, libtool, autoconf-archive, pkgconf, make, gcc, texinfo,
|
||||
# lib
|
||||
libfuse3-dev, libseccomp-dev, libsqlite3-dev, libjansson-dev, nettle-dev,
|
||||
libreadline-dev, tcl-dev, liburiparser-dev, libxxhash-dev,
|
||||
# for fusermount3(1)
|
||||
fuse3,
|
||||
]
|
||||
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: -D_GNU_SOURCE
|
||||
tasks:
|
||||
- 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: |
|
||||
cd bookmarkfs/build
|
||||
make check
|
47
.builds/freebsd.yml
Normal file
47
.builds/freebsd.yml
Normal file
|
@ -0,0 +1,47 @@
|
|||
#
|
||||
# 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
|
Loading…
Add table
Reference in a new issue