forked from lthn/blockchain
Introduces actions/cache to cache the build/sdk folder in Linux, macOS (Intel and ARM64), and Windows GitHub Actions workflows. Disables Conan's internal package caching in favor of the new cache step to improve build performance and consistency.
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
name: Linux
|
|
permissions:
|
|
contents: read
|
|
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-x86_64
|
|
runs-on: ubuntu-22.04
|
|
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
|
|
|
|
- name: Cache SDK Folder
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ github.workspace }}/build/sdk
|
|
key: ${{ runner.os }}-sdk
|
|
|
|
- name: Install Conan
|
|
uses: conan-io/setup-conan@v1
|
|
with:
|
|
home: ${{ github.workspace }}/build/sdk
|
|
cache_packages: false
|
|
|
|
- name: Compile Release
|
|
run: make release 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
|