build_a1111forge #9
This file contains 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: build_a1111forge | |
# ATTRIBUTION-AI: Much of this file is either written by an AI LLM model, or derives from a similar file also largely written by an AI LLM model. | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions | |
permissions: | |
actions: write | |
checks: read | |
contents: write | |
deployments: read | |
issues: none | |
packages: read | |
pull-requests: read | |
repository-projects: read | |
security-events: none | |
statuses: read | |
# GPU has apparently not been compatible enough anyway. | |
on: | |
workflow_dispatch: | |
inputs: | |
runnerNameMSW: | |
required: false | |
default: windows-latest | |
type: choice | |
options: | |
- windows-gpu | |
- windows-latest | |
runnerNameLinux: | |
required: false | |
default: ubuntu-latest | |
type: choice | |
options: | |
- ubuntu-latest | |
- ubuntu-latest-m | |
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule | |
#schedule: | |
###- cron: '5 1 * * 6' | |
###- cron: '5 1 * * 2,4' | |
###- cron: '5 1 * * 2' | |
##- cron: '5 1 * * 4' | |
#- cron: '5 1 9 * *' | |
# https://docs.github.com/en/actions/using-jobs/using-concurrency | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
# https://github.com/ncipollo/release-action | |
# https://github.com/softprops/action-gh-release | |
# https://svrooij.io/2021/08/17/github-actions-secret-file/ | |
jobs: | |
#build_guard: | |
#runs-on: ubuntu-latest | |
#steps: | |
#- uses: actions/checkout@v3 | |
#- uses: dev-drprasad/[email protected] | |
#with: | |
#tag_name: build-${{ github.run_id }}-${{ github.run_attempt }} #(required) tag name to delete | |
#github_token: ${{ secrets.GITHUB_TOKEN }} | |
#delete_release: true #(optional) default: true | |
build_a1111forge-msw: | |
#needs: [build_guard, build_compressed] | |
runs-on: ${{ github.event.inputs.runnerNameMSW == '' && 'windows-latest' || github.event.inputs.runnerNameMSW }} | |
steps: | |
# ATTRIBUTION-AI: ChatGPT o1-preview 2024-12-05 . | |
# Install PowerShell | |
- name: Install PowerShell | |
shell: cmd | |
run: | | |
curl -L -o pwsh.zip https://github.com/PowerShell/PowerShell/releases/download/v7.2.6/PowerShell-7.2.6-win-x64.zip | |
mkdir C:\pwsh | |
tar -xf pwsh.zip -C C:\pwsh | |
set PATH=C:\pwsh;%PATH% | |
echo C:\pwsh >> %GITHUB_PATH% | |
# Create handler script in cmd only, with escapes | |
- name: Create pwsh Handler Script | |
shell: cmd | |
run: | | |
echo Param([Parameter^(Mandatory=$true^)][string]$ScriptPath) >C:\pwsh\pwsh_handler.ps1 | |
echo Write-Host "Running script via handler: $ScriptPath" >>C:\pwsh\pwsh_handler.ps1 | |
echo $newScript = "C:\pwsh\handler_temp_script.ps1" >>C:\pwsh\pwsh_handler.ps1 | |
echo Copy-Item $ScriptPath $newScript -Force >>C:\pwsh\pwsh_handler.ps1 | |
echo Write-Host "Script copied to $newScript. Displaying contents:" >>C:\pwsh\pwsh_handler.ps1 | |
echo Get-Content $newScript >>C:\pwsh\pwsh_handler.ps1 | |
echo Write-Host "Now executing script..." >>C:\pwsh\pwsh_handler.ps1 | |
echo ^& $newScript >>C:\pwsh\pwsh_handler.ps1 | |
echo Write-Host "Script execution complete." >>C:\pwsh\pwsh_handler.ps1 | |
- name: Verify Installation | |
shell: cmd | |
run: | | |
dir C:\pwsh | |
dir C:\pwsh\pwsh.exe | |
dir C:\pwsh\pwsh_handler.ps1 | |
# Use the handler script as the shell | |
- name: Run PowerShell Code via Handler | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
run: | | |
Write-Host "PowerShell is now installed and ready to use." | |
# Add PowerShell commands here; their output will now be displayed | |
#- name: Install chocolatey | |
#shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
#run: | | |
#Write-Host "Install chocolatey..." | |
## Add PowerShell commands here; their output will now be displayed | |
#Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) | |
# https://adamtheautomator.com/powershell-get-disk-space/ | |
#- name: release! deleteme | |
#uses: softprops/action-gh-release@v1 | |
#with: | |
#tag_name: build-${{ github.run_id }}-${{ github.run_attempt }} | |
#name: build | |
#files: | | |
#/deleteme | |
#- name: _getCore_ubcp-extendedInterface | |
#shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
#timeout-minutes: 180 | |
#run: | | |
##mkdir / | |
#cd / | |
##Invoke-WebRequest -Uri (((Invoke-RestMethod -Uri "https://api.github.com/repos/mirage335-colossus/extendedInterface/releases") | Where-Object { $_.name -eq "internal" } | ForEach-Object { $_.assets } | Where-Object {$_.name -eq "extIface.exe"} | Sort-Object -Property {$_.browser_download_url -replace '\D+(\d+)-\d+$', '$1'} -Descending | Select-Object -First 1).browser_download_url) -OutFile ./extIface.exe | |
#Invoke-WebRequest -Uri (((Invoke-RestMethod -Uri "https://api.github.com/repos/mirage335-colossus/extendedInterface/releases" -Headers @{Authorization = "Bearer ${{ secrets.GITHUB_TOKEN }}" }) | Where-Object { $_.name -eq "internal" } | ForEach-Object { $_.assets } | Where-Object {$_.name -eq "extIface.exe"} | Sort-Object -Property {$_.browser_download_url -replace '\D+(\d+)-\d+$', '$1'} -Descending | Select-Object -First 1).browser_download_url) -OutFile ./extIface.exe | |
##start "Installer" /wait "extIface" /S | |
#Start-Process -FilePath ".\extIface.exe" -ArgumentList "/wait", ".\extIface.exe", "/S" -NoNewWindow -Wait | |
#rm ./extIface.exe | |
- name: _getMinimal_cloud | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
timeout-minutes: 180 | |
run: | | |
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) | |
$ErrorActionPreference="SilentlyContinue" | |
$ErrorActionPreference = "Continue" | |
Set-MpPreference -DisableRealtimeMonitoring $true | |
date > /wasHere.log | |
pwd >> /wasHere.log | |
cat /wasHere.log | |
#choco install qalculate -y | |
choco install dos2unix -y | |
#choco install nmap -y | |
git config --global core.autocrlf input | |
git config --global core.eol lf | |
choco install 7zip.install -y | |
#choco install rclone -y | |
#choco install gh | |
- uses: actions/checkout@v3 | |
- name: statement! ls | |
#if: ${{ github.event.inputs.skimfast != 'true' }} | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
run: | | |
ls / | |
ls | |
Get-CimInstance -ClassName Win32_LogicalDisk | Select-Object -Property DeviceID,@{'Name' = 'FreeSpace (GB)' | |
Expression= { [int]($_.FreeSpace / 1GB) }} | |
# ATTRIBUTION-AI: ChatGPT o1-preview 2024-12-05 . | |
- name: fetch | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
timeout-minutes: 240 | |
run: | | |
#mkdir ./_bundle | |
cd ./_bundle | |
#webui_forge!_cu121_torch21.7z | |
#webui_forge!_cu121_torch231.7z | |
#webui_forge!_cu124_torch24.7z | |
Invoke-WebRequest -Uri "https://github.com/lllyasviel/stable-diffusion-webui-forge/releases/download/latest/webui_forge_cu121_torch231.7z" -OutFile "webui_forge_cu121_torch231.7z" | |
#- name: fetch | |
#shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
#timeout-minutes: 240 | |
#run: | | |
##Set-Item -Path Env:devfast -Value ("true") | |
##cd C:\core\infrastructure\ubiquitous_bash\ | |
##cd ./_local/ubcp | |
#cd ./ | |
#./_bin _fetch_iconArt_forge | tee /temp.log | |
#$SEL = cat /temp.log | Select-String -Pattern 'FAIL' -CaseSensitive -SimpleMatch | |
#if ($SEL -ne $null) | |
#{ | |
#cat /bin/false/pwsh | |
#} | |
#else | |
#{ | |
#echo true | Out-Null | |
#} | |
# ATTRIBUTION-AI: Llama-augment 2024-12-05 . (just the 7z command) | |
- name: extract | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
timeout-minutes: 240 | |
run: | | |
cd ./_bundle | |
& "C:\Program Files\7-Zip\7z.exe" -y x -o"./webui_forge_cu121_torch231" ./webui_forge_cu121_torch231.7z | |
rm webui_forge_cu121_torch231.7z | |
- name: update | |
shell: cmd | |
timeout-minutes: 240 | |
run: | | |
cd ./_bundle/webui_forge_cu121_torch231 | |
call environment.bat | |
git -C "webui" pull | |
git -C "webui" reset --hard | |
git -C "webui" pull | |
#- name: run | |
#shell: cmd | |
#timeout-minutes: 10 | |
#continue-on-error: true | |
#run: | | |
#cd ./_bundle/webui_forge_cu121_torch231 | |
#call environment.bat | |
#cd webui | |
#call webui-user.bat | tee /run-msw.log | |
# ATTRIBUTION-AI: ChatGPT o1-preview 2024-12-05 . | |
#- name: run_timeout | |
#shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
#continue-on-error: true | |
#run: | | |
#$commands = @" | |
#cd ./_bundle/webui_forge_cu121_torch231 | |
#call environment.bat | |
#cd webui | |
#call webui-user.bat | |
#"@ | |
#Set-Content -Path 'script.bat' -Value $commands | |
#$process = Start-Process -FilePath 'cmd.exe' -ArgumentList '/c', 'script.bat' -PassThru | |
#if (Wait-Process -Id $process.Id -Timeout 600) { | |
#Write-Host "Process completed within the timeout." | |
#} else { | |
#Write-Host "Timeout occurred. Terminating the process." | |
#Stop-Process -Id $process.Id -Force | |
#throw "Process terminated after exceeding the 10-minute timeout." | |
#} | |
# ATTRIBUTION-AI: ChatGPT o1-preview 2024-12-05 . | |
- name: run_timeout_log | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
continue-on-error: true | |
run: | | |
# Define the batch commands | |
$commands = @" | |
cd ./_bundle/webui_forge_cu121_torch231 | |
call environment.bat | |
cd webui | |
REM call webui-user.bat | |
set PYTHON= | |
set GIT= | |
set VENV_DIR= | |
set COMMANDLINE_ARGS="--skip-torch-cuda-test" | |
call webui.bat | |
"@ | |
# Write the commands to a batch file | |
Set-Content -Path 'script.bat' -Value $commands | |
# Define the timeout in seconds (600 seconds = 10 minutes) | |
$timeoutSeconds = 600 | |
# Start the process with output redirection | |
$startInfo = New-Object System.Diagnostics.ProcessStartInfo | |
$startInfo.FileName = 'cmd.exe' | |
$startInfo.Arguments = '/c script.bat' | |
$startInfo.RedirectStandardOutput = $true | |
$startInfo.RedirectStandardError = $true | |
$startInfo.UseShellExecute = $false | |
$startInfo.CreateNoWindow = $true | |
$process = New-Object System.Diagnostics.Process | |
$process.StartInfo = $startInfo | |
$process.Start() | Out-Null | |
$logFile = 'run-msw.log' | |
$sw = [System.Diagnostics.Stopwatch]::StartNew() | |
# Read and log output in real-time | |
while (-not $process.HasExited) { | |
if ($sw.Elapsed.TotalSeconds -ge $timeoutSeconds) { | |
Write-Host "Timeout occurred. Terminating the process." | |
$process.Kill() | |
throw "Process terminated after exceeding the 10-minute timeout." | |
} | |
# Read standard output | |
while (-not $process.StandardOutput.EndOfStream) { | |
$outputLine = $process.StandardOutput.ReadLine() | |
Write-Host $outputLine | |
$outputLine | Out-File -FilePath $logFile -Append | |
} | |
# Read standard error | |
while (-not $process.StandardError.EndOfStream) { | |
$errorLine = $process.StandardError.ReadLine() | |
Write-Host $errorLine | |
$errorLine | Out-File -FilePath $logFile -Append | |
} | |
Start-Sleep -Milliseconds 100 | |
} | |
# Capture any remaining output after the process exits | |
while (-not $process.StandardOutput.EndOfStream) { | |
$outputLine = $process.StandardOutput.ReadLine() | |
Write-Host $outputLine | |
$outputLine | Out-File -FilePath $logFile -Append | |
} | |
while (-not $process.StandardError.EndOfStream) { | |
$errorLine = $process.StandardError.ReadLine() | |
Write-Host $errorLine | |
$errorLine | Out-File -FilePath $logFile -Append | |
} | |
$process.Dispose() | |
- name: release! run-msw.log | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: build-${{ github.run_id }}-${{ github.run_attempt }} | |
name: build | |
files: | | |
./run-msw.log | |
- name: statement! run | |
run: | | |
cat ./run-msw.log | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
# ATTRIBUTION-AI: Llama-augment 2024-12-05 . (just the 7z command) | |
- name: compress | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
timeout-minutes: 240 | |
run: | | |
cd ./_bundle | |
& "C:\Program Files\7-Zip\7z.exe" -y a -t7z -m0=lzma2 -mmt=6 -mx=9 "./webui_forge_cu121_torch231-msw.7z" "./webui_forge_cu121_torch231" | |
- name: statement! ls | |
#if: ${{ github.event.inputs.skimfast != 'true' }} | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
run: | | |
ls / | |
ls | |
Get-CimInstance -ClassName Win32_LogicalDisk | Select-Object -Property DeviceID,@{'Name' = 'FreeSpace (GB)' | |
Expression= { [int]($_.FreeSpace / 1GB) }} | |
#- name: _getCore_ubcp-extendedInterface | |
#shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
#timeout-minutes: 180 | |
#run: | | |
##mkdir / | |
#cd / | |
##Invoke-WebRequest -Uri (((Invoke-RestMethod -Uri "https://api.github.com/repos/mirage335-colossus/extendedInterface/releases") | Where-Object { $_.name -eq "internal" } | ForEach-Object { $_.assets } | Where-Object {$_.name -eq "extIface.exe"} | Sort-Object -Property {$_.browser_download_url -replace '\D+(\d+)-\d+$', '$1'} -Descending | Select-Object -First 1).browser_download_url) -OutFile ./extIface.exe | |
#Invoke-WebRequest -Uri (((Invoke-RestMethod -Uri "https://api.github.com/repos/mirage335-colossus/extendedInterface/releases" -Headers @{Authorization = "Bearer ${{ secrets.GITHUB_TOKEN }}" }) | Where-Object { $_.name -eq "internal" } | ForEach-Object { $_.assets } | Where-Object {$_.name -eq "extIface.exe"} | Sort-Object -Property {$_.browser_download_url -replace '\D+(\d+)-\d+$', '$1'} -Descending | Select-Object -First 1).browser_download_url) -OutFile ./extIface.exe | |
##start "Installer" /wait "extIface" /S | |
#Start-Process -FilePath ".\extIface.exe" -ArgumentList "/wait", ".\extIface.exe", "/S" -NoNewWindow -Wait | |
#rm ./extIface.exe | |
#- name: split | |
#shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
#timeout-minutes: 240 | |
#run: | | |
##Set-Item -Path Env:devfast -Value ("true") | |
##cd C:\core\infrastructure\ubiquitous_bash\ | |
##cd ./_local/ubcp | |
#cd ./ | |
#./_bin _split_file_iconArt "./_bundle/webui_forge_cu121_torch231-msw.7z" | tee /split.log | |
#$SEL = cat /split.log | Select-String -Pattern 'FAIL' -CaseSensitive -SimpleMatch | |
#if ($SEL -ne $null) | |
#{ | |
#cat /bin/false/pwsh | |
#} | |
#else | |
#{ | |
#echo true | Out-Null | |
#} | |
- name: split | |
shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
run: | | |
$file = './_bundle/webui_forge_cu121_torch231-msw.7z' | |
$chunkSize = 1856000000 | |
for ($currentIteration = 0; $currentIteration -le 24; $currentIteration++) { | |
$currentIterationString = "{0:D2}" -f $currentIteration | |
if ((Test-Path $file) -and ((Get-Item $file).Length -gt 0)) { | |
$fileSize = (Get-Item $file).Length | |
$readSize = [Math]::Min($chunkSize, $fileSize) | |
# Open the file and read the last $readSize bytes | |
$fs = [System.IO.File]::Open($file, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read) | |
$fs.Position = $fileSize - $readSize | |
$buffer = New-Object byte[] $readSize | |
$fs.Read($buffer, 0, $readSize) | |
$fs.Close() | |
# Write to the new part file | |
$partFile = "$file.part$currentIterationString" | |
[System.IO.File]::WriteAllBytes($partFile, $buffer) | |
# Truncate the original file | |
$fs = [System.IO.File]::Open($file, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Write) | |
$fs.SetLength($fileSize - $readSize) | |
$fs.Close() | |
} | |
} | |
#- name: release | |
#shell: C:\pwsh\pwsh.exe -NoProfile -ExecutionPolicy Bypass -File "C:\pwsh\pwsh_handler.ps1" "{0}" | |
#timeout-minutes: 240 | |
#run: | | |
##Set-Item -Path Env:devfast -Value ("true") | |
##cd C:\core\infrastructure\ubiquitous_bash\ | |
##cd ./_local/ubcp | |
#cd ./ | |
#./_bin _release_split_iconArt "./_bundle/webui_forge_cu121_torch231-msw.7z" build-${{ github.run_id }}-${{ github.run_attempt }} | tee /release.log | |
#$SEL = cat /release.log | Select-String -Pattern 'FAIL' -CaseSensitive -SimpleMatch | |
#if ($SEL -ne $null) | |
#{ | |
#cat /bin/false/pwsh | |
#} | |
#else | |
#{ | |
#echo true | Out-Null | |
#} | |
#env: | |
#GH_TOKEN: ${{ github.token }} | |
- name: release! files | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: build-${{ github.run_id }}-${{ github.run_attempt }} | |
name: build | |
files: | | |
./_bundle/webui_forge_cu121_torch231-msw.7z.part* | |
build_a1111forge-linux: | |
runs-on: ${{ github.event.inputs.runnerNameLinux == '' && 'ubuntu-latest' || github.event.inputs.runnerNameLinux }} | |
#runs-on: ubuntu-latest | |
steps: | |
- name: users | |
shell: bash | |
run: | | |
sudo -u ubuntu -n bash -c 'sudo -n useradd runner --non-unique -u $UID -g $UID' || true | |
sudo -u ubuntu -n bash -c 'sudo -n groupadd runner --non-unique -g $UID' || true | |
sudo -u runner -n bash -c 'sudo -n echo $USER $UID' || true | |
true | |
# Apparently may increase Github Actions 'runner' to 59GB (instead of 31GB) . | |
- name: Maximize build space | |
if: ${{ github.event.inputs.runnerNameLinux == 'ubuntu-latest' }} | |
uses: easimon/maximize-build-space@master | |
with: | |
#root-reserve-mb: 1625 | |
root-reserve-mb: 6000 | |
#temp-reserve-mb: 50 | |
temp-reserve-mb: 6000 | |
swap-size-mb: 2 | |
#remove-dotnet: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-dotnet: 'true' | |
#remove-android: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-android: 'true' | |
#remove-haskell: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-haskell: 'true' | |
#remove-codeql: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-codeql: 'true' | |
#remove-docker-images: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-docker-images: 'true' | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- name: _getMinimal_cloud | |
shell: bash | |
run: | | |
./ubiquitous_bash.sh _getMinimal_cloud | |
timeout-minutes: 90 | |
- name: _build_a1111forge-linux-run | |
shell: bash | |
run: | | |
#./ubiquitous_bash.sh _timeout 300 ./_lib/stable-diffusion-webui-forge-lllyasviel/webui.sh --skip-torch-cuda-test | |
./ubiquitous_bash.sh _build_a1111forge-linux-run | |
timeout-minutes: 90 | |
- name: _compress_a1111forge-linux | |
shell: bash | |
run: | | |
#cd ./_lib | |
#env XZ_OPT="-0 -T0" tar -cJf "$scriptLocal"/stable-diffusion-webui-forge-lllyasviel-linux.tar.xz stable-diffusion-webui-forge-lllyasviel | |
./ubiquitous_bash.sh _compress_a1111forge-linux | |
timeout-minutes: 90 | |
- name: _split_a1111forge-linux | |
shell: bash | |
run: | | |
#./ubiquitous_bash.sh _split_file_iconArt "$scriptLocal"/stable-diffusion-webui-forge-lllyasviel-linux.tar.xz | |
./ubiquitous_bash.sh _split_a1111forge-linux | |
timeout-minutes: 90 | |
#- name: release! files | |
#uses: softprops/action-gh-release@v1 | |
#with: | |
#tag_name: build-${{ github.run_id }}-${{ github.run_attempt }} | |
#name: build | |
#files: | | |
#./_local/stable-diffusion-webui-forge-lllyasviel-linux.tar.xz.part* | |
##./_local/stable-diffusion-webui-reForge-Panchovix-linux.tar.xz.part* | |
- name: release! files - stable-diffusion-webui-forge-lllyasviel-linux.tar.xz | |
shell: bash | |
run: | | |
#gh release create build-${{ github.run_id }}-${{ github.run_attempt }} --title build --notes "" | |
bash -c ' | |
for currentFile in /_local/stable-diffusion-webui-forge-lllyasviel-linux.tar.xz.part* | |
do | |
./ubiquitous_bash.sh _stopwatch gh release upload build-${{ github.run_id }}-${{ github.run_attempt }} "$currentFile" & | |
while [[ $(jobs | wc -l) -ge 3 ]] | |
do | |
sleep 2 | |
done | |
done | |
wait | |
' | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- name: release! files - stable-diffusion-webui-reForge-Panchovix-linux.tar.xz | |
shell: bash | |
run: | | |
#gh release create build-${{ github.run_id }}-${{ github.run_attempt }} --title build --notes "" | |
bash -c ' | |
for currentFile in /_local/stable-diffusion-webui-reForge-Panchovix-linux.tar.xz.part* | |
do | |
./ubiquitous_bash.sh _stopwatch gh release upload build-${{ github.run_id }}-${{ github.run_attempt }} "$currentFile" & | |
while [[ $(jobs | wc -l) -ge 3 ]] | |
do | |
sleep 2 | |
done | |
done | |
wait | |
' | |
env: | |
GH_TOKEN: ${{ github.token }} | |
build_a1111forge-fromStatic: | |
runs-on: ${{ github.event.inputs.runnerNameLinux == '' && 'ubuntu-latest' || github.event.inputs.runnerNameLinux }} | |
#runs-on: ubuntu-latest | |
#runs-on: ubuntu-20.04 | |
#runs-on: buildjet-2vcpu-ubuntu-2004 | |
#runs-on: buildjet-64vcpu-ubuntu-2004 | |
steps: | |
- name: users | |
shell: bash | |
run: | | |
sudo -u ubuntu -n bash -c 'sudo -n useradd runner --non-unique -u $UID -g $UID' || true | |
sudo -u ubuntu -n bash -c 'sudo -n groupadd runner --non-unique -g $UID' || true | |
sudo -u runner -n bash -c 'sudo -n echo $USER $UID' || true | |
true | |
# Apparently may increase Github Actions 'runner' to 59GB (instead of 31GB) . | |
- name: Maximize build space | |
if: ${{ github.event.inputs.runnerNameLinux == 'ubuntu-latest' }} | |
uses: easimon/maximize-build-space@master | |
with: | |
#root-reserve-mb: 1625 | |
root-reserve-mb: 6000 | |
#temp-reserve-mb: 50 | |
temp-reserve-mb: 6000 | |
swap-size-mb: 2 | |
#remove-dotnet: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-dotnet: 'true' | |
#remove-android: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-android: 'true' | |
#remove-haskell: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-haskell: 'true' | |
#remove-codeql: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-codeql: 'true' | |
#remove-docker-images: ${{ github.event.inputs.runnerName != 'ubuntu-latest-h' }} | |
remove-docker-images: 'true' | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- name: _getMinimal_cloud | |
shell: bash | |
run: | | |
./ubiquitous_bash.sh _getMinimal_cloud | |
timeout-minutes: 90 | |
- name: _fetch_iconArt_forge-static | |
shell: bash | |
run: | | |
#mkdir -p ./_bundle | |
#cd ./_bundle | |
#./ubiquitous_bash.sh _wget_githubRelease_join "soaringDistributions/iconArt-build" "static" "webui_forge_cu121_torch231-Lenovo_P1_Gen6_i913900h_RTX4090.7z" | |
#./ubiquitous_bash.sh _split_file_iconArt "webui_forge_cu121_torch231-Lenovo_P1_Gen6_i913900h_RTX4090.7z" | |
./ubiquitous_bash.sh _fetch_iconArt_forge-static | |
timeout-minutes: 90 | |
- name: release! files | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: build-${{ github.run_id }}-${{ github.run_attempt }} | |
name: build | |
files: | | |
./_bundle/webui_forge_cu121_torch231-Lenovo_P1_Gen6_i913900h_RTX4090.7z.part* | |