mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-05-24 14:55:46 -04:00
Daemon-mode tests default to the stdio-pipe transport (RSYNC_CONNECT_PROG), which opens no listening socket -- so `make check` never exposes a network service. Real TCP is opt-in via `runtests.py --use-tcp`, with the daemon bound to loopback (127.0.0.1) on a claim_ports()-reserved port; CI runs the suite both ways. start_test_daemon() is the single seam every daemon test uses: the secure pipe by default, a real rsyncd on a claimed loopback port under --use-tcp. Tests with no pipe equivalent (the fake-proxy listener and the reverse-DNS hostname-ACL daemon test) are gated behind require_tcp(). `make check` also now runs the suite in parallel by default (CHECK_J=8); the claim_ports() byte-range locks make that safe across concurrent runs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
name: Test rsync on OpenBSD
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths-ignore:
|
|
- '.github/workflows/*.yml'
|
|
- '!.github/workflows/openbsd-build.yml'
|
|
pull_request:
|
|
branches: [ master ]
|
|
paths-ignore:
|
|
- '.github/workflows/*.yml'
|
|
- '!.github/workflows/openbsd-build.yml'
|
|
schedule:
|
|
- cron: '42 8 * * *'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
name: Test rsync on OpenBSD
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Test in OpenBSD VM
|
|
id: test
|
|
uses: vmactions/openbsd-vm@v1
|
|
with:
|
|
usesh: true
|
|
prepare: |
|
|
pkg_add -I bash autoconf%2.71 automake%1.16
|
|
run: |
|
|
uname -a
|
|
export AUTOCONF_VERSION=2.71
|
|
export AUTOMAKE_VERSION=1.16
|
|
./configure --with-rrsync --disable-zstd --disable-md2man --disable-xxhash --disable-lz4
|
|
make
|
|
./rsync --version
|
|
make check
|
|
./runtests.py --rsync-bin=`pwd`/rsync --use-tcp -j 8
|
|
./rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
|
|
- name: save artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: openbsd-bin
|
|
path: |
|
|
rsync
|
|
rsync-ssl
|
|
rsync.1
|
|
rsync-ssl.1
|
|
rsyncd.conf.5
|
|
rrsync.1
|
|
rrsync
|