Skip to content

Build Windows Installer #22

Build Windows Installer

Build Windows Installer #22

name: Build Windows Installer
on: workflow_dispatch
jobs:
build:
name: Build the Inno Setup Installer
runs-on: windows-latest
defaults:
run:
shell: pwsh
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Remove extra header in git config
run: |
git config --unset "http.https://github.com/.extraheader"
- id: commit
uses: prompt/actions-commit-hash@v3
- name: Install extra language file of Inno Setup 6
run: |
$baseUri = 'https://raw.github.com/jrsoftware/issrc/main/Files'
$downloadDir = "$env:ProgramFiles (x86)\Inno Setup 6\Languages"
$files = @(
@{
Uri = "$baseUri/Languages/Unofficial/ChineseTraditional.isl"
OutFile = "$downloadDir\ChineseTraditional.isl"
},
@{
Uri = "$baseUri/Languages/Unofficial/ChineseSimplified.isl"
OutFile = "$downloadDir\ChineseSimplified.isl"
}
)
$jobs = @()
New-Item -ItemType Directory -Path $downloadDir -Force
foreach ($file in $files) {
$jobs += Start-ThreadJob -Name $file.OutFile -ScriptBlock {
$params = $using:file
Invoke-WebRequest @params
}
}
Write-Host "Downloads started..."
Wait-Job -Job $jobs
foreach ($job in $jobs) {
Receive-Job -Job $job
}
- name: Compile .ISS to .EXE installer
uses: Minionguyjpro/[email protected]
with:
path: scripts/windows-setup-files/kuwa_genai_os.iss
options: /O+
- name: Export the installer
uses: actions/upload-artifact@v4
with:
name: Kuwa-GenAI-OS-${{ github.ref_name }}${{ steps.commit.outputs.short }}
path: D:\a\genai-os\genai-os\scripts\windows-setup-files\Kuwa-GenAI-OS.exe