Skip to content

String consistency in UI #1147

String consistency in UI

String consistency in UI #1147

Workflow file for this run

name: Build Desktop Apps
on:
push:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# macos-latest is for arm64 build, macos-13 is for x86_64
include:
- os: windows-latest
- os: macos-latest # arm64 macOS
- os: macos-13 # x86_64 macOS
- os: ubuntu-22.04 # x86_64 linux, oldest available GH runner. Older libc for maximal compatibility
- os: ubuntu-22.04-arm # arm linux build
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
# Use 3.12 - 3.13 not working yet (Numpy verion too old)
- uses: actions/setup-python@v5
with:
python-version: 3.12
# Use GH python version (includes TK/TCL)
- name: Set up Python using GH python version
run: uv venv --python 3.12 --python-preference only-system
- name: Install the project
run: uv sync
# Compress MacOS app param ignored on other platforms
- name: Build Desktop App
run: uv run bash ./app/desktop/build_desktop_app.sh
- name: Build Windows Installer
if: matrix.os == 'windows-latest'
uses: Minionguyjpro/[email protected]
with:
path: ./app/desktop/WinInnoSetup.iss
- name: Copy Windows Installer
if: matrix.os == 'windows-latest'
run: cp ./app/desktop/Output/kilnsetup.exe ./app/desktop/build/dist/Kiln.Windows.Installer.exe
# Print checksums, so anyone can verify the build
- name: Checksums (macOS)
if: runner.os == 'macOS'
run: find ./app/desktop/build/dist/Kiln.app -type f -not -path "*/Contents/Resources/botocore/data/*" -exec md5 {} \;
- name: Checksums (Linux)
if: runner.os == 'Linux'
run: find ./app/desktop/build/dist -type f -exec sha256sum {} \;
- name: Checksums (Windows)
if: runner.os == 'Windows'
run: |
certutil -hashfile ./app/desktop/build/dist/Kiln.Windows.Installer.exe SHA256
certutil -hashfile ./app/desktop/build/dist/Kiln/Kiln.exe SHA256
# MacOS apps have symlinks, and GitHub artifact upload zip will break them. Tar instead.
- name: Compress MacOS App
if: runner.os == 'macOS'
working-directory: ./app/desktop/build/dist
run: |
echo "Compressing MacOS app"
tar czpvf Kiln.app.tgz Kiln.app
rm -r Kiln.app
- name: Upload Build
uses: actions/upload-artifact@v4
with:
name: kiln-desktop-${{ runner.os }}-${{ runner.arch }}
path: ./app/desktop/build/dist/*