Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7

This commit is contained in:
Ryan Ofsky
2026-01-13 07:24:18 -05:00
17 changed files with 562 additions and 47 deletions

View File

@@ -5,6 +5,66 @@ on:
pull_request:
jobs:
build-netbsd:
runs-on: ubuntu-latest
name: build • netbsd ${{ matrix.release }}
defaults:
run:
shell: netbsd {0}
strategy:
fail-fast: false
matrix:
# Test all supported releases.
# See https://www.netbsd.org/releases/.
include:
- release: 9.4
capnproto-cppflags: 'CPPFLAGS="-DKJ_NO_EXCEPTIONS=0 -DKJ_USE_KQUEUE=0"'
- release: 10.1
capnproto-cppflags: 'CPPFLAGS="-DKJ_NO_EXCEPTIONS=0"'
steps:
- uses: actions/checkout@v6
- name: Start NetBSD VM
uses: vmactions/netbsd-vm@v1
with:
release: ${{ matrix.release }}
# The installed compiler version must match the CXX variable
# defined in `ci/configs/netbsd.bash`.
prepare: |
pkg_add cmake ninja-build gcc14
# capnproto prerequisites.
# See the following "Install capnproto" step.
run: |
set -e
pkg_add digest libtool-base mktools pkgconf cwrappers
pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities
cd /usr
cvs -danoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P \
pkgsrc/devel/capnproto \
pkgsrc/devel/libtool-base \
pkgsrc/devel/pkgconf \
pkgsrc/devel/zlib \
`# gcc15 is referenced here because the pkgsrc framework requires lang/gcc15/version.mk to exist` \
`# during the "make install" step below, even though we compile our project with gcc14.` \
pkgsrc/lang/gcc15 \
pkgsrc/mk \
pkgsrc/pkgtools \
pkgsrc/security/openssl \
pkgsrc/sysutils/install-sh/files
sync: 'rsync'
copyback: false
- name: Install capnproto
run: |
cd /usr/pkgsrc/devel/capnproto/
unset PKG_PATH
make ${{ matrix.capnproto-cppflags }} install
- name: Run CI script
run: |
cd ${{ github.workspace }}
CI_CONFIG="ci/configs/netbsd.bash" bash ci/scripts/ci.sh
build-openbsd:
runs-on: ubuntu-latest
name: build • openbsd
@@ -18,17 +78,10 @@ jobs:
uses: vmactions/openbsd-vm@v1
with:
prepare: |
pkg_add -v cmake ninja git bash
run: |
git clone --depth=1 https://codeberg.org/OpenBSD/ports.git /usr/ports
pkg_add -v cmake ninja bash capnproto
sync: 'rsync'
copyback: false
- name: Install capnproto
run: |
cd /usr/ports/devel/capnproto/
make install
- name: Run CI script
run: |
cd ${{ github.workspace }}
@@ -76,6 +129,11 @@ jobs:
build:
runs-on: ubuntu-latest
env:
NIX_EXTRA_CONFIG_ACT: |
sandbox = false
filter-syscalls = false
strategy:
fail-fast: false
matrix:
@@ -90,6 +148,10 @@ jobs:
uses: cachix/install-nix-action@v31 # 2025-05-27, from https://github.com/cachix/install-nix-action/tags
with:
nix_path: nixpkgs=channel:nixos-25.05 # latest release
# Act executes inside an unprivileged container (Docker or Podman),
# so KVM support isn't available.
enable_kvm: "${{ github.actor != 'nektos/act' }}"
extra_nix_config: ${{ github.actor == 'nektos/act' && env.NIX_EXTRA_CONFIG_ACT || '' }}
- name: Run CI script
env: