Skip to content

Batch Build ROCm Wheels #6

Batch Build ROCm Wheels

Batch Build ROCm Wheels #6

name: Batch Build ROCm Wheels
on:
workflow_dispatch:
inputs:
versions:
description: 'Comma-seperated version tags of llama-cpp-python to build'
default: 'v0.2.18,v0.2.17,v0.2.16,v0.2.15,v0.2.14'
required: true
type: string
config:
description: 'Override configurations to build: key1:item1-1,item1-2;key2:item2-1,item2-2'
default: 'Default'
required: false
type: string
exclude:
description: 'Exclude build configurations: key1-1:item1-1,key1-2:item1-2;key2-1:item2-1,key2-2:item2-2'
default: 'Default'
required: false
type: string
permissions:
contents: write
jobs:
define_matrix:
name: Define Workflow Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
defaults:
run:
shell: pwsh
env:
PCKGVERS: ${{ inputs.versions }}
steps:
- uses: actions/checkout@v4
- name: Define Job Output
id: set-matrix
run: |
$versions = $env:PCKGVERS.Split(',').Trim()
$versions.foreach({if ([version]$_.TrimStart('v') -lt [version]'0.1.80') {Throw "$_ does not support ROCm!"}})
$x = ConvertTo-Json $versions -Compress
Write-Output ('matrix=' + $x) >> $env:GITHUB_OUTPUT
run_workflows:
name: Build ${{ matrix.version }} Wheels
needs: define_matrix
strategy:
max-parallel: 1
matrix:
version: ${{ fromJSON(needs.define_matrix.outputs.matrix) }}
uses: ./.github/workflows/build-wheels-rocm-full.yml
with:
version: ${{ matrix.version }}
config: ${{ inputs.config }}
exclude: ${{ inputs.exclude }}