core-lightning/.github/workflows/bsd.yml
Rusty Russell 364de00947 CI: clean up workflow files.
We used to have to use environment variables to pass through to
github/scripts/build.sh, but now we run ./configure directly it's
clearer to use explicit flags (though some matrixes still use env vars
for simplicity).

We also don't need to set COMPAT, as it's the default (MacOS tests
that we build without it, but otherwise we assume it's on).

And we make `gather` actually depend on all the other steps!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-07-09 16:49:48 +09:30

87 lines
2.6 KiB
YAML

name: FreeBSD Test
on:
push:
branches:
- "master"
pull_request:
jobs:
testfreebsd:
runs-on: macos-10.15
name: Build and test on FreeBSD
timeout-minutes: 120
steps:
- uses: actions/checkout@v2
- name: Test in FreeBSD
id: test
uses: vmactions/freebsd-vm@v0.1.5
with:
usesh: true
prepare: |
pkg install -y \
wget \
py38-pip \
py38-sqlite3 \
gmake \
git \
python \
postgresql12-server \
autoconf \
automake \
libtool \
bash \
gettext \
sqlite3 \
lowdown \
curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly-2021-08-3z1
cd /tmp/ || exit 1
wget https://bitcoincore.org/bin/bitcoin-core-25.0/bitcoin-25.0-x86_64-linux-gnu.tar.gz
tar -xf bitcoin-25.0-x86_64-linux-gnu.tar.bz2
sudo mv bitcoin-25.0/bin/* /usr/local/bin
rm -rf \
bitcoin-25.0-x86_64-linux-gnu.tar.gz \
bitcoin-25.0
run: |
PATH=/root/.local/bin:$PATH
pip install --user -U wheel pip
pip install --user -U -r requirements.txt
# Install utilities that aren't dependencies, but make
# running tests easier/feasible on CI (and pytest which
# keeps breaking the rerunfailures plugin).
pip install --user -U \
blinker \
flake8 \
mako \
pytest-sentry \
pytest-test-groups==1.0.3 \
pytest-custom-exit-code==0.3.0 \
pytest-json-report
git clone https://github.com/lightning/bolts.git ../bolts
# fatal: unsafe repository ('/Users/runner/work/lightning/lightning' is owned by someone else)
git config --global --add safe.directory `pwd`
git submodule update --init --recursive
./configure CC="$CC" --enable-developer --disable-valgrind
cat config.vars
cat << EOF > pytest.ini
[pytest]
addopts=-p no:logging --color=yes --timeout=1800 --timeout-method=thread --test-group-random-seed=42 --junitxml=report.xml --json-report --json-report-file=report.json --json-report-indent=2
markers =
slow_test: marks tests as slow (deselect with '-m "not slow_test"')
EOF
# Just run a "quick" test without memory checking
gmake
# Clean up to maximize rsync's chances of succeeding
gmake clean