Skip to content
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.

Merge pull request #6 from torkelrogstad/2024-02-01-macos-ci #3

Merge pull request #6 from torkelrogstad/2024-02-01-macos-ci

Merge pull request #6 from torkelrogstad/2024-02-01-macos-ci #3

Workflow file for this run

name: Build
on:
pull_request:
push:
branches:
- "testchain"
jobs:
build-linux:
name: Build Linux binaries
runs-on: ubuntu-20.04
steps:
- name: install Linux deps
run: sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3
- uses: actions/checkout@v3
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ./depends
key: linux-${{ hashFiles('depends/packages/**') }}
- name: download dependencies
run: make -C ./depends download-linux
- name: build dependencies
run: make -C ./depends -j4
- run: ./autogen.sh
- run: echo "CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site" >> $GITHUB_ENV
- run: ./configure
- run: make -j4
- uses: actions/upload-artifact@v4
with:
name: binaries-Linux
if-no-files-found: error
path: |
src/testchaind
src/testchain-cli
src/qt/testchain-qt
build-windows:
name: Build Windows binaries
runs-on: ubuntu-20.04
steps:
# g++-mingw-w64-x86-64 is the cross-compiling toolchain needed for
# producing Windows binaries
#
# python3 line is needed to make `python` resolve to `python3`
- name: install deps
run: |
sudo apt install g++-mingw-w64-x86-64 \
build-essential libtool autotools-dev automake \
libssl-dev libevent-dev \
pkg-config bsdmainutils curl git \
python3-setuptools python-is-python3 \
- name: configure the Windows toolchain
run: sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
- uses: actions/checkout@v3
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ./depends
key: windows-${{ hashFiles('depends/packages/**') }}
- name: download dependencies
run: make -C ./depends download-win
- name: build dependencies
run: make -C ./depends HOST=x86_64-w64-mingw32 -j4
- run: ./autogen.sh
- run: echo "CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site" >> $GITHUB_ENV
- run: ./configure
- run: make -j4
- uses: actions/upload-artifact@v4
with:
name: binaries-Windows
if-no-files-found: error
path: |
src/testchaind.exe
src/testchain-cli.exe
src/qt/testchain-qt.exe
build-macos:
name: Build macOS binaries
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ./depends
key: macos-${{ hashFiles('depends/packages/**') }}
- name: download dependencies
run: make -C ./depends download-osx
- name: Run build in Docker
uses: addnab/docker-run-action@v3
with:
image: barebitcoin/testchain-macos-builder
options: -v ${{ github.workspace }}:/testchain --workdir=/testchain
shell: bash
run: |
set -e
make -C depends -j4
export CONFIG_SITE=$PWD/depends/x86_64-apple-darwin11/share/config.site
./autogen.sh
./configure
make -j4 # Limit the concurrency to prevent OOM
- uses: actions/upload-artifact@v4
with:
name: binaries-macOS
if-no-files-found: error
path: |
src/testchaind
src/testchain-cli
src/qt/testchain-qt