blockchain/.github/workflows/testnet-cli-macos-intel.yml

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