mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 14:42:40 +01:00
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>
87 lines
2.6 KiB
YAML
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
|
|
|