Skip to content

Commit 4c38774

Browse files
committed
Update build.yml
1 parent e270781 commit 4c38774

File tree

1 file changed

+22
-117
lines changed

1 file changed

+22
-117
lines changed

.github/workflows/build.yml

Lines changed: 22 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
type: boolean
1010
push:
1111
branches:
12-
- master
12+
- dreamio
1313
- ci
1414
paths:
1515
[
@@ -78,14 +78,14 @@ jobs:
7878
7979
- name: Pack artifacts
8080
id: pack_artifacts
81-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
81+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
8282
run: |
8383
cp ggml/LICENSE ./build/bin/ggml.txt
8484
cp LICENSE ./build/bin/stable-diffusion.cpp.txt
8585
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip ./build/bin/*
8686
8787
- name: Upload artifacts
88-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
88+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
8989
uses: actions/upload-artifact@v4
9090
with:
9191
name: sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip
@@ -131,22 +131,22 @@ jobs:
131131
132132
- name: Pack artifacts
133133
id: pack_artifacts
134-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
134+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
135135
run: |
136136
cp ggml/LICENSE ./build/bin/ggml.txt
137137
cp LICENSE ./build/bin/stable-diffusion.cpp.txt
138138
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip ./build/bin/*
139139
140140
- name: Upload artifacts
141-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
141+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
142142
uses: actions/upload-artifact@v4
143143
with:
144144
name: sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip
145145
path: |
146146
sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip
147147
148148
windows-latest-cmake:
149-
runs-on: windows-2025
149+
runs-on: windows-2022
150150

151151
env:
152152
VULKAN_VERSION: 1.4.328.1
@@ -163,9 +163,13 @@ jobs:
163163
- build: "avx512"
164164
defines: "-DGGML_NATIVE=OFF -DGGML_AVX512=ON -DGGML_AVX=ON -DGGML_AVX2=ON -DSD_BUILD_SHARED_LIBS=ON"
165165
- build: "cuda12"
166-
defines: "-DSD_CUDA=ON -DSD_BUILD_SHARED_LIBS=ON -DCMAKE_CUDA_ARCHITECTURES=90;89;86;80;75"
166+
defines: "-DSD_CUDA=ON -DSD_BUILD_SHARED_LIBS=ON"
167+
- build: "cuda12-noavx"
168+
defines: "-DGGML_NATIVE=OFF -DSD_CUDA=ON -DGGML_AVX=OFF -DGGML_AVX2=OFF -DGGML_FMA=OFF -DSD_BUILD_SHARED_LIBS=ON"
167169
- build: 'vulkan'
168170
defines: "-DSD_VULKAN=ON -DSD_BUILD_SHARED_LIBS=ON"
171+
- build: 'vulkan-noavx'
172+
defines: "-DGGML_NATIVE=OFF -DSD_VULKAN=ON -DGGML_AVX=OFF -DGGML_AVX2=OFF -DGGML_FMA=OFF -DSD_BUILD_SHARED_LIBS=ON"
169173
steps:
170174
- name: Clone
171175
id: checkout
@@ -175,16 +179,16 @@ jobs:
175179

176180
- name: Install cuda-toolkit
177181
id: cuda-toolkit
178-
if: ${{ matrix.build == 'cuda12' }}
182+
if: ${{ matrix.build == 'cuda12' || matrix.build == 'cuda12-noavx' }}
179183
uses: Jimver/[email protected]
180184
with:
181-
cuda: "12.6.2"
185+
cuda: "12.4.0"
182186
method: "network"
183187
sub-packages: '["nvcc", "cudart", "cublas", "cublas_dev", "thrust", "visual_studio_integration"]'
184188

185189
- name: Install Vulkan SDK
186190
id: get_vulkan
187-
if: ${{ matrix.build == 'vulkan' }}
191+
if: ${{ matrix.build == 'vulkan' || matrix.build == 'vulkan-noavx' }}
188192
run: |
189193
curl.exe -o $env:RUNNER_TEMP/VulkanSDK-Installer.exe -L "https://sdk.lunarg.com/sdk/download/${env:VULKAN_VERSION}/windows/vulkansdk-windows-X64-${env:VULKAN_VERSION}.exe"
190194
& "$env:RUNNER_TEMP\VulkanSDK-Installer.exe" --accept-licenses --default-answer --confirm-command install
@@ -214,12 +218,12 @@ jobs:
214218
215219
- name: Get commit hash
216220
id: commit
217-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
221+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
218222
uses: pr-mpt/actions-commit-hash@v2
219223

220224
- name: Pack artifacts
221225
id: pack_artifacts
222-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
226+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
223227
run: |
224228
$filePath = ".\build\bin\Release\*"
225229
if (Test-Path $filePath) {
@@ -239,137 +243,38 @@ jobs:
239243
240244
- name: Copy and pack Cuda runtime
241245
id: pack_cuda_runtime
242-
if: ${{ matrix.build == 'cuda12' && (github.event_name == 'push' && github.ref == 'refs/heads/master' || github.event.inputs.create_release == 'true') }}
246+
if: ${{ matrix.build == 'cuda12' && (github.event_name == 'push' && github.ref == 'refs/heads/dreamio' || github.event.inputs.create_release == 'true') }}
243247
run: |
244248
echo "Cuda install location: ${{steps.cuda-toolkit.outputs.CUDA_PATH}}"
245249
$dst='.\build\bin\cudart\'
246250
robocopy "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin" $dst cudart64_*.dll cublas64_*.dll cublasLt64_*.dll
247251
7z a cudart-sd-bin-win-cu12-x64.zip $dst\*
248252
249253
- name: Upload Cuda runtime
250-
if: ${{ matrix.build == 'cuda12' && (github.event_name == 'push' && github.ref == 'refs/heads/master' || github.event.inputs.create_release == 'true') }}
254+
if: ${{ matrix.build == 'cuda12' && (github.event_name == 'push' && github.ref == 'refs/heads/dreamio' || github.event.inputs.create_release == 'true') }}
251255
uses: actions/upload-artifact@v4
252256
with:
253257
name: sd-cudart-sd-bin-win-cu12-x64.zip
254258
path: |
255259
cudart-sd-bin-win-cu12-x64.zip
256260
257261
- name: Upload artifacts
258-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
262+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
259263
uses: actions/upload-artifact@v4
260264
with:
261265
name: sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip
262266
path: |
263267
sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip
264268
265-
windows-latest-cmake-hip:
266-
runs-on: windows-2022
267-
268-
env:
269-
HIPSDK_INSTALLER_VERSION: "25.Q3"
270-
GPU_TARGETS: "gfx1151;gfx1200;gfx1201;gfx1100;gfx1101;gfx1102;gfx1030;gfx1031;gfx1032"
271-
272-
steps:
273-
- uses: actions/checkout@v3
274-
with:
275-
submodules: recursive
276-
277-
- name: Cache ROCm Installation
278-
id: cache-rocm
279-
uses: actions/cache@v4
280-
with:
281-
path: C:\Program Files\AMD\ROCm
282-
key: rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }}
283-
284-
- name: ccache
285-
uses: ggml-org/[email protected]
286-
with:
287-
key: windows-latest-cmake-hip-${{ env.HIPSDK_INSTALLER_VERSION }}-x64
288-
evict-old-files: 1d
289-
290-
- name: Install ROCm
291-
if: steps.cache-rocm.outputs.cache-hit != 'true'
292-
run: |
293-
$ErrorActionPreference = "Stop"
294-
write-host "Downloading AMD HIP SDK Installer"
295-
Invoke-WebRequest -Uri "https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-${{ env.HIPSDK_INSTALLER_VERSION }}-WinSvr2022-For-HIP.exe" -OutFile "${env:RUNNER_TEMP}\rocm-install.exe"
296-
write-host "Installing AMD HIP SDK"
297-
$proc = Start-Process "${env:RUNNER_TEMP}\rocm-install.exe" -ArgumentList '-install' -NoNewWindow -PassThru
298-
$completed = $proc.WaitForExit(600000)
299-
if (-not $completed) {
300-
Write-Error "ROCm installation timed out after 10 minutes. Killing the process"
301-
$proc.Kill()
302-
exit 1
303-
}
304-
if ($proc.ExitCode -ne 0) {
305-
Write-Error "ROCm installation failed with exit code $($proc.ExitCode)"
306-
exit 1
307-
}
308-
write-host "Completed AMD HIP SDK installation"
309-
310-
- name: Verify ROCm
311-
run: |
312-
# Find and test ROCm installation
313-
$clangPath = Get-ChildItem 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | Select-Object -First 1
314-
if (-not $clangPath) {
315-
Write-Error "ROCm installation not found"
316-
exit 1
317-
}
318-
& $clangPath.FullName --version
319-
# Set HIP_PATH environment variable for later steps
320-
echo "HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path)" >> $env:GITHUB_ENV
321-
322-
- name: Build
323-
run: |
324-
mkdir build
325-
cd build
326-
$env:CMAKE_PREFIX_PATH="${env:HIP_PATH}"
327-
cmake .. `
328-
-G "Unix Makefiles" `
329-
-DSD_HIPBLAS=ON `
330-
-DSD_BUILD_SHARED_LIBS=ON `
331-
-DGGML_NATIVE=OFF `
332-
-DCMAKE_C_COMPILER=clang `
333-
-DCMAKE_CXX_COMPILER=clang++ `
334-
-DCMAKE_BUILD_TYPE=Release `
335-
-DGPU_TARGETS="${{ env.GPU_TARGETS }}"
336-
cmake --build . --config Release --parallel ${env:NUMBER_OF_PROCESSORS}
337-
338-
- name: Get commit hash
339-
id: commit
340-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
341-
uses: pr-mpt/actions-commit-hash@v2
342-
343-
- name: Pack artifacts
344-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
345-
run: |
346-
md "build\bin\rocblas\library\"
347-
md "build\bin\hipblaslt\library"
348-
cp "${env:HIP_PATH}\bin\hipblas.dll" "build\bin\"
349-
cp "${env:HIP_PATH}\bin\hipblaslt.dll" "build\bin\"
350-
cp "${env:HIP_PATH}\bin\rocblas.dll" "build\bin\"
351-
cp "${env:HIP_PATH}\bin\rocblas\library\*" "build\bin\rocblas\library\"
352-
cp "${env:HIP_PATH}\bin\hipblaslt\library\*" "build\bin\hipblaslt\library\"
353-
7z a sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-rocm-x64.zip .\build\bin\*
354-
355-
- name: Upload artifacts
356-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
357-
uses: actions/upload-artifact@v4
358-
with:
359-
name: sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-rocm-x64.zip
360-
path: |
361-
sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-rocm-x64.zip
362-
363269
release:
364-
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
270+
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/dreamio' ) || github.event.inputs.create_release == 'true' }}
365271

366272
runs-on: ubuntu-latest
367273

368274
needs:
369275
- ubuntu-latest-cmake
370276
- macOS-latest-cmake
371277
- windows-latest-cmake
372-
- windows-latest-cmake-hip
373278

374279
steps:
375280
- name: Clone
@@ -396,7 +301,7 @@ jobs:
396301

397302
- name: Create release
398303
id: create_release
399-
if: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'master' }}
304+
if: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'dreamio' }}
400305
uses: anzz1/action-create-release@v1
401306
env:
402307
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -405,7 +310,7 @@ jobs:
405310

406311
- name: Upload release
407312
id: upload_release
408-
if: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'master' }}
313+
if: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'dreamio' }}
409314
uses: actions/github-script@v3
410315
with:
411316
github-token: ${{secrets.GITHUB_TOKEN}}

0 commit comments

Comments
 (0)