ci: add Windows installer workflow

This commit is contained in:
maziggy
2026-06-10 12:16:31 +02:00
parent ef25c5f2db
commit 45337cd540
+66
View File
@@ -0,0 +1,66 @@
name: Windows Installer
# Build the Windows installer .exe.
#
# Triggers:
# - Tag push matching v* (release builds, uploaded as a release asset)
# - Manual dispatch (for testing the build pipeline)
#
# The installer is unsigned until SignPath OSS approval lands. Once it
# does, add the SignPath GitHub Action between the ISCC step and the
# upload step.
on:
push:
tags:
- 'v*'
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install Inno Setup
run: |
choco install innosetup --version=6.2.2 --no-progress -y
shell: pwsh
- name: Stage installer artifacts
working-directory: installers/windows
run: python build.py
shell: pwsh
- name: Compile installer (ISCC)
working-directory: installers/windows
run: |
& "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" bambuddy.iss
shell: pwsh
- name: Upload installer artifact
uses: actions/upload-artifact@v4
with:
name: bambuddy-windows-installer
path: installers/windows/build/output/*.exe
if-no-files-found: error
- name: Attach installer to release
if: startsWith(github.ref, 'refs/tags/v')
uses: softprops/action-gh-release@v2
with:
files: installers/windows/build/output/*.exe
fail_on_unmatched_files: true