Skip to content

build_a1111forge

build_a1111forge #9

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*