Merge pull request #173 from yuzi-co/bench/amd-autolykos-v2 #44
This file contains hidden or 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: 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 }} |