forked from lthn/blockchain
- Linux: https://github.com/letheanVPN/blockchain/actions/runs/17264025940 - MacOS-aarch64: https://github.com/letheanVPN/blockchain/actions/runs/17264025933 - MacOS-amd64: https://github.com/letheanVPN/blockchain/actions/runs/17264025928 - Windows: https://github.com/letheanVPN/blockchain/actions/runs/17265388073
90 lines
2.9 KiB
YAML
90 lines
2.9 KiB
YAML
name: testnet-cli-macos-intel
|
|
|
|
on:
|
|
release:
|
|
types:
|
|
- published
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
pull_request:
|
|
branches:
|
|
- dev
|
|
paths-ignore:
|
|
- '**.md'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-project:
|
|
name: Build Project
|
|
runs-on: macos-13
|
|
steps:
|
|
- name: Checkout Project
|
|
uses: actions/checkout@v4.2.2
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: recursive
|
|
|
|
- name: install dependencies
|
|
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache miniupnpc
|
|
|
|
- name: Cache OpenSSL
|
|
id: cache-openssl
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ github.workspace }}/build/openssl
|
|
key: ${{ runner.os }}-intel-openssl
|
|
|
|
- name: ccache caching
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ github.workspace }}/build/ccache
|
|
key: ccache-testnet-cli-${{ runner.os }}-intel
|
|
|
|
- name: Install boost
|
|
uses: MarkusJx/install-boost@6d8df42f57de83c5b326b5b83e7b35d650030103
|
|
id: install-boost
|
|
with:
|
|
boost_version: 1.84.0
|
|
boost_install_dir: ${{ github.workspace }}/build/boost_1_84_0
|
|
platform_version: 13
|
|
toolset: clang
|
|
|
|
- name: Build OpenSSL
|
|
if: steps.cache-openssl.outputs.cache-hit != 'true'
|
|
run: |
|
|
cd build
|
|
curl -OL https://www.openssl.org/source/openssl-1.1.1w.tar.gz
|
|
echo "cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 openssl-1.1.1w.tar.gz" | shasum -c && tar -xjf openssl-1.1.1w.tar.gz
|
|
rm openssl-1.1.1w.tar.gz && cd openssl-1.1.1w
|
|
./config --prefix=${{ github.workspace }}/build/openssl --openssldir=${{ github.workspace }}/build/openssl shared zlib
|
|
make && make install && cd ..
|
|
rm -rf openssl-1.1.1w/
|
|
|
|
|
|
- name: Build Project
|
|
uses: threeal/cmake-action@v2.1.0
|
|
env:
|
|
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
|
|
CCACHE_TEMPDIR: ${{ github.workspace }}/build/ccache
|
|
OPENSSL_ROOT_DIR: ${{ github.workspace }}/build/openssl
|
|
with:
|
|
build-dir: build/release
|
|
build-args: |
|
|
-j2
|
|
--config Release
|
|
options: |
|
|
TESTNET=TRUE
|
|
CMAKE_BUILD_TYPE=Release
|
|
Boost_INCLUDE_DIR=${{steps.install-boost.outputs.BOOST_ROOT}}/include
|
|
Boost_LIBRARY_DIRS=${{steps.install-boost.outputs.BOOST_ROOT}}/lib
|
|
- name: Upload Binaries
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: testnet-cli-macos-intel
|
|
path: |
|
|
${{ github.workspace }}/build/release/src/zanod
|
|
${{ github.workspace }}/build/release/src/simplewallet
|
|
${{ github.workspace }}/build/release/src/connectivity_tool
|