Skip to content

feat(cpu): Blake3/Alephium CPU mining — first CPU algorithm #48

feat(cpu): Blake3/Alephium CPU mining — first CPU algorithm

feat(cpu): Blake3/Alephium CPU mining — first CPU algorithm #48

Workflow file for this run

name: Linux Miner
on:
pull_request:
branches:
- main
# Docs-only changes don't affect the build: skip the ~45-min miner matrix.
paths-ignore:
- '**.md'
- 'documentation/**'
- 'docs/**'
- 'LICENSE'
- '.gitignore'
push:
branches:
- main
paths-ignore:
- '**.md'
- 'documentation/**'
- 'docs/**'
- 'LICENSE'
- '.gitignore'
workflow_dispatch:
inputs:
full_build:
description: "Full build: all 3 backends (AMD/NVIDIA/ALL) with the complete multi-arch CUDA fat binary. Off (default) = single ALL build at one CUDA arch (fast CI validation)."
required: false
type: boolean
default: false
workflow_call:
inputs:
full_build:
description: "Full release build (3 backends, all CUDA archs)."
required: false
type: boolean
default: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
# ============================================================
# Build dependencies (reusable workflows)
# Each dependency uses its own cache: if cache hits, it skips
# the build but still uploads the artifact for this run.
# ============================================================
build-cmake:
uses: ./.github/workflows/cmake_linux.yml
build-boost:
uses: ./.github/workflows/boost_linux.yml
with:
boost_version: "1.91.0"
build-openssl:
uses: ./.github/workflows/openssl_linux.yml
build-opencl:
uses: ./.github/workflows/opencl_linux.yml
build-cuda:
uses: ./.github/workflows/cuda_linux.yml
#==========================================================================
# Build Miner AMD
#==========================================================================
build-miner-amd:
if: ${{ inputs.full_build }}
needs: [build-cmake, build-boost, build-openssl, build-opencl]
runs-on: ubuntu-22.04
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/miner/amd
#==========================================================================
# Build Miner NVIDIA
#==========================================================================
build-miner-nvidia:
if: ${{ inputs.full_build }}
needs: [build-cmake, build-boost, build-openssl, build-opencl, build-cuda]
runs-on: ubuntu-22.04
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/miner/nvidia
#==========================================================================
# Build Miner ALL (AMD + NVIDIA + CPU)
#==========================================================================
build-miner-all:
needs: [build-cmake, build-boost, build-openssl, build-opencl, build-cuda]
runs-on: ubuntu-22.04
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/miner/all
with:
full_build: ${{ inputs.full_build }}