FreeBSD #56
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: FreeBSD | |
on: | |
pull_request: | |
paths: | |
- '.github/actions/**' | |
- '.github/workflows/freebsd.yml' | |
schedule: | |
- cron: '22 02 * * *' | |
workflow_dispatch: | |
inputs: | |
skip_functional_tests: | |
description: 'Skip functional tests' | |
required: true | |
default: false | |
type: boolean | |
concurrency: | |
group: ${{ github.workflow }}${{ github.event_name != 'pull_request' && github.run_id || github.ref }} | |
cancel-in-progress: true | |
env: | |
CCACHE_COMPILERCHECK: content | |
CCACHE_DIR: ${{ github.workspace }}/ccache | |
CCACHE_MAXSIZE: 400M | |
CCACHE_COMPRESS: 1 | |
# See https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories | |
CI_NCPU: 4 | |
jobs: | |
freebsd-syslibs: | |
name: 'FreeBSD: system libs, no BDB, no GUI' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: freebsd {0} | |
steps: | |
- name: Checkout Bitcoin Core repo | |
uses: actions/checkout@v4 | |
with: | |
repository: bitcoin/bitcoin | |
- name: Start FreeBSD VM | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
envs: 'CCACHE_COMPILERCHECK CCACHE_DIR CCACHE_MAXSIZE CCACHE_COMPRESS' | |
prepare: pkg install -y cmake-core git pkgconf ccache boost-libs libevent sqlite3 libzmq4 python3 databases/py-sqlite3 net/py-pyzmq | |
run: git config --global --add safe.directory ${{ github.workspace }} | |
sync: 'rsync' | |
copyback: false | |
- name: Checkout helper actions | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: .github/actions | |
path: ci/nightly | |
- name: Generate buildsystem | |
run: | | |
cd ${{ github.workspace }} | |
cmake -B build -DWITH_ZMQ=ON -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWERROR=ON | |
- name: Build | |
uses: ./ci/nightly/.github/actions/build-with-ccache | |
with: | |
vm: freebsd | |
- name: Check 'bitcoind' executable | |
run: | | |
set -e | |
cd ${{ github.workspace }} | |
ls -l ./build/src/bitcoind | |
file ./build/src/bitcoind | |
ldd ./build/src/bitcoind | |
./build/src/bitcoind -version | |
- name: Run test suite | |
uses: ./ci/nightly/.github/actions/run-test-suite | |
with: | |
vm: freebsd | |
- name: Run functional tests | |
if: ${{ ! inputs.skip_functional_tests }} | |
run: | | |
cd ${{ github.workspace }} | |
./build/test/functional/test_runner.py --ci --extended -j ${{ env.CI_NCPU }} --combinedlogslen=99999999 --quiet --timeout-factor=8 | |
freebsd-depends: | |
name: 'FreeBSD: depends, MP' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: freebsd {0} | |
steps: | |
- name: Checkout Bitcoin Core repo | |
uses: actions/checkout@v4 | |
with: | |
repository: bitcoin/bitcoin | |
- name: Start FreeBSD VM | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
envs: 'CCACHE_COMPILERCHECK CCACHE_DIR CCACHE_MAXSIZE CCACHE_COMPRESS' | |
prepare: pkg install -y bash curl gmake cmake-core git pkgconf ccache python3 databases/py-sqlite3 net/py-pyzmq | |
run: git config --global --add safe.directory ${{ github.workspace }} | |
sync: 'rsync' | |
copyback: false | |
- name: Checkout helper actions | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: .github/actions | |
path: ci/nightly | |
- name: Build depends | |
uses: ./ci/nightly/.github/actions/build-depends | |
with: | |
vm: freebsd | |
options: "MULTIPROCESS=1" | |
- name: Generate buildsystem | |
run: | | |
cd ${{ github.workspace }} | |
cmake -B build --toolchain depends/$(./depends/config.guess)/toolchain.cmake -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWERROR=ON | |
- name: Build | |
uses: ./ci/nightly/.github/actions/build-with-ccache | |
with: | |
vm: freebsd | |
- name: Check 'bitcoind' executable | |
run: | | |
set -e | |
cd ${{ github.workspace }} | |
ls -l ./build/src/bitcoind | |
file ./build/src/bitcoind | |
ldd ./build/src/bitcoind | |
./build/src/bitcoind -version | |
- name: Run test suite | |
uses: ./ci/nightly/.github/actions/run-test-suite | |
with: | |
vm: freebsd | |
- name: Run functional tests | |
if: ${{ ! inputs.skip_functional_tests }} | |
run: | | |
cd ${{ github.workspace }} | |
./build/test/functional/test_runner.py --ci --extended -j ${{ env.CI_NCPU }} --combinedlogslen=99999999 --quiet --timeout-factor=8 |