Update Makefile #44
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: cli-testnet | |
on: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
push: | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
env: | |
CMAKE_OSX_SYSROOT: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.2.1.sdk" | |
CCACHE_SETTINGS: | | |
ccache --max-size=150M | |
ccache --set-config=compression=true | |
jobs: | |
compile: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest] | |
include: | |
- os: ubuntu-latest | |
target: linux-amd64 | |
net: testnet | |
# - os: macos-11 | |
# target: macos-amd64 | |
# net: testnet | |
# - os: macos-12 | |
# target: macos-amd64 | |
# net: testnet | |
# - os: windows-2019 | |
# target: windows-amd64 | |
# net: testnet | |
env: | |
CCACHE_TEMPDIR: ${{ github.workspace }}/ccache | |
CONAN_HOME: "${{ github.workspace }}/build/" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: amd64 | |
if: ${{ matrix.os == 'windows-2019' }} | |
name: setup msvc vcvars | |
- name: install dependencies | |
run: | | |
sudo apt update | |
sudo apt-get install -y git ccache | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
cache: "pip" | |
- name: Install autotools on macOS | |
run: brew install automake | |
if: ${{ matrix.os == 'macos-13' }} | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ github.workspace }}/ccache | |
key: ccache-${{ runner.os }}-${{ matrix.target }}-build-testnet-cli | |
- name: Cache Conan | |
id: github-cache-conan | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-conan-modules | |
with: | |
save-always: true | |
path: ${{ github.workspace }}/build/p | |
key: host-${{ runner.os }}-target-${{ matrix.target }}-${{ hashFiles('contrib/cmake/conanfile.py') }} | |
- name: Install Conan | |
run: pip install conan pytest && conan --version | |
- name: Setup CMake and Ninja | |
uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: "~3.25.0" | |
ninjaVersion: "^1.11.1" | |
- name: Call make release-testnet | |
run: | | |
make ci-${{ matrix.target }}-testnet | |
- name: Release Tag | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: '*ethean-${{ matrix.target }}-cli.*' | |
- name: Release Branch | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/heads/iTw3') | |
with: | |
tag_name: canary | |
prerelease: true | |
files: '*ethean-${{ matrix.target }}-cli.*' | |
# linux-amd64: | |
# runs-on: ubuntu-20.04 | |
# env: | |
# CCACHE_TEMPDIR: ${{ github.workspace }}/ccache | |
# steps: | |
# - name: Cancel Previous Runs | |
# uses: styfle/cancel-workflow-action@0.9.1 | |
# with: | |
# access_token: ${{ github.token }} | |
# - uses: actions/checkout@v3 | |
# with: | |
# fetch-depth: 0 | |
# submodules: recursive | |
# - uses: actions/cache@v3 | |
# with: | |
# path: ${{ github.workspace }}/ccache | |
# key: ccache-${{ runner.os }}-build-testnet-cli | |
# restore-keys: ccache-${{ runner.os }}-build-testnet-cli | |
# - name: update apt | |
# run: sudo apt update | |
# - name: install dependencies | |
# run: sudo apt-get install -y python-dev autotools-dev libboost-all-dev libicu-dev libbz2-dev git screen checkinstall zlib1g-dev ccache miniupnpc | |
# - name: build server | |
# run: | | |
# ${{env.CCACHE_SETTINGS}} | |
# ./utils/build/testnet_linux_cli.sh | |
# - name: Move Tarball | |
# run: cd build/release && mv lethean-linux-cli-*.tar.bz2 ../../ | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: lethean-linux-cli | |
# if-no-files-found: error | |
# path: lethean-linux-cli-*.tar.bz2 | |
# - name: Release | |
# uses: softprops/action-gh-release@v1 | |
# if: startsWith(github.ref, 'refs/tags/') | |
# with: | |
# files: ${{ github.workspace }}/testnet-lethean-linux-cli-*.tar.bz2 | |
# - name: Release Tag | |
# uses: softprops/action-gh-release@v1 | |
# if: startsWith(github.ref, 'refs/tags/') | |
# with: | |
# files: '*ethean-${{ matrix.target }}-cli.*' | |
# - name: Release Branch | |
# uses: softprops/action-gh-release@v1 | |
# if: startsWith(github.ref, 'refs/heads/iTw3') | |
# with: | |
# tag_name: canary | |
# prerelease: true | |
# files: '*ethean-${{ matrix.target }}-cli.*' | |
# macos-amd64: | |
# runs-on: macos-latest | |
# env: | |
# CCACHE_TEMPDIR: ${{ github.workspace }}/ccache | |
# steps: | |
# - name: Cancel Previous Runs | |
# uses: styfle/cancel-workflow-action@0.9.1 | |
# with: | |
# access_token: ${{ github.token }} | |
# - uses: actions/checkout@v3 | |
# with: | |
# fetch-depth: 0 | |
# submodules: recursive | |
# - uses: actions/cache@v3 | |
# with: | |
# path: ${{ github.workspace }}/ccache | |
# key: ccache-${{ runner.os }}-build-testnet-cli | |
# restore-keys: ccache-${{ runner.os }}-build-testnet-cli | |
# - name: install dependencies | |
# run: HOMEBREW_NO_AUTO_UPDATE=1 brew install openssl boost icu4c ccache miniupnpc | |
# - name: build server | |
# env: | |
# PKG_CONFIG_PATH: "/usr/local/opt/openssl@3/lib/pkgconfig" | |
# OPENSSL_ROOT_DIR: "/usr/local/opt/openssl@3" | |
# ZANO_BOOST_ROOT: "/opt/homebrew/opt/boost" | |
# ZANO_BOOST_LIBS_PATH: "/opt/homebrew/opt/boost/lib" | |
# CMAKE_OSX_SYSROOT: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk" | |
# run: | | |
# ${{env.CCACHE_SETTINGS}} | |
# export LIBRARY_PATH=${LIBRARY_PATH}:/usr/local/opt/icu4c/lib | |
# ./utils/build/testnet_mac_osx_cli.sh | |
# - name: Move Tarball | |
# run: cd build/release && mv lethean-macos-cli-*.tar.bz2 ../../ | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: lethean-macos-cli | |
# if-no-files-found: error | |
# path: lethean-macos-cli-*.tar.bz2 | |
# - name: Release | |
# uses: softprops/action-gh-release@v1 | |
# if: startsWith(github.ref, 'refs/tags/') | |
# with: | |
# files: ${{ github.workspace }}/lethean-macos-cli-*.tar.bz2 | |
# windows-amd64: | |
# runs-on: windows-latest | |
# env: | |
# CCACHE_TEMPDIR: ${{ github.workspace }}/ccache | |
# steps: | |
# - name: Cancel Previous Runs | |
# uses: styfle/cancel-workflow-action@0.9.1 | |
# with: | |
# access_token: ${{ github.token }} | |
# - uses: actions/checkout@v3 | |
# with: | |
# fetch-depth: 0 | |
# submodules: recursive | |
# - uses: actions/cache@v3 | |
# with: | |
# path: ${{ github.workspace }}/ccache | |
# key: ccache-${{ runner.os }}-build-testnet-cli | |
# restore-keys: ccache-${{ runner.os }}-build-testnet-cli | |
# - name: Eat the Choco | |
# run: | | |
# choco install ccache -y | |
# choco install zip -y | |
# - name: Cache Conan | |
# id: github-cache-conan | |
# uses: actions/cache@v4 | |
# env: | |
# cache-name: cache-conan-modules | |
# with: | |
# save-always: true | |
# path: ${{ github.workspace }}\build\p | |
# key: host-${{ runner.os }}-target-windows-${{ hashFiles('contrib/cmake/conanfile.py') }} | |
# - name: install msvc toolset | |
# uses: ilammy/msvc-dev-cmd@v1 | |
# | |
# - name: Set up Visual Studio shell | |
# uses: egor-tensin/vs-shell@v2 | |
# with: | |
# arch: x64 | |
# - name: build server | |
# env: | |
# CCACHE_TEMPDIR: ${{ github.workspace }}/ccache | |
# run: | | |
# ${{env.CCACHE_SETTINGS}} | |
# .\utils\build\testnet_windows_cli.bat | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: lethean-windows-cli | |
# if-no-files-found: error | |
# path: ${{ github.workspace }}\lethean-win-cli-*.zip | |
# - name: Release | |
# uses: softprops/action-gh-release@v1 | |
# if: startsWith(github.ref, 'refs/tags/') | |
# with: | |
# files: | | |
# lethean-win-cli-* |