forked from lthn/blockchain
Refactors the Docker build workflow to use a matrix for multi-arch builds, updates build arguments, and improves Docker image tagging. Disables Conan package caching on Linux ARM64 and macOS Intel workflows. Changes the Windows build to use the 'msvc-194-x86_64' target and updates artifact paths accordingly. Enhances the Makefile to pass additional CMake variables and run cpack after building.
55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
name: Linux
|
|
permissions:
|
|
contents: write
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
chain-network:
|
|
description: "The network to use, can either be testnet, stagenet or mainnet"
|
|
default: testnet
|
|
required: false
|
|
type: string
|
|
|
|
jobs:
|
|
build:
|
|
name: gcc-linux-arm64
|
|
runs-on: ubuntu-22.04-arm
|
|
steps:
|
|
- name: Checkout Project
|
|
uses: actions/checkout@v4.2.2
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: recursive
|
|
|
|
- name: install dependencies
|
|
run: sudo apt-get install -y autotools-dev git build-essential libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev pngquant
|
|
|
|
- name: Cache SDK Folder
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ github.workspace }}/build/sdk
|
|
key: ${{ runner.os }}-${{ runner.arch }}-sdk
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.x
|
|
|
|
- run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin "mkdocs-material[imaging]"
|
|
|
|
|
|
- name: Install Conan
|
|
uses: conan-io/setup-conan@v1
|
|
with:
|
|
home: ${{ github.workspace }}/build/sdk
|
|
cache_packages: false
|
|
|
|
- name: Compile Release
|
|
run: make release CPU_CORES=4 TESTNET=${{ inputs.chain-network == 'testnet' && '1' || '0' }}
|
|
|
|
- name: CLI Artifacts
|
|
uses: ./.github/actions/upload-artifacts
|
|
with:
|
|
chain-network: ${{ inputs.chain-network }}
|
|
assets: lethean-*
|
|
asset-type: 'cli'
|
|
asset-directory: ${{ github.workspace }}/build/release/packages
|