Allow creating a fine-tuning datasplit with a tag. Need this more now… #1146
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 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/* |