Skip to content

feat: implement .NET-based launcher and updater for automated applica… #61

feat: implement .NET-based launcher and updater for automated applica…

feat: implement .NET-based launcher and updater for automated applica… #61

Workflow file for this run

name: Dev Release
on:
push:
branches: [main, master]
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Set up .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.x'
- name: Install dependencies
# We need to install requirements for makefile.py to run (e.g. tabulate)
run: pip install -r requirements.txt
- name: Build Launcher
run: dotnet publish launcher/Hammer5ToolsLauncher.csproj -c Release -o launcher/publish
- name: Build Updater
run: dotnet publish updater/Hammer5ToolsUpdater.csproj -c Release -o updater/publish
- name: Build Python App
run: python makefile.py --build-app
- name: Copy launcher and updater into dist folder
run: |
copy launcher\publish\Hammer5ToolsLauncher.exe hammer5tools\Hammer5ToolsLauncher.exe
copy updater\publish\Hammer5ToolsUpdater.exe hammer5tools\Hammer5ToolsUpdater.exe
- name: Create Zip Archive
run: python makefile.py --archive
- name: Read app version
id: version
run: |
$ver = python -c "from src.common import app_version; print(app_version)"
echo "app_version=$ver" >> $env:GITHUB_OUTPUT
- name: Upload to dev release
uses: softprops/action-gh-release@v2
with:
tag_name: dev
name: "Dev Build v${{ steps.version.outputs.app_version }} (${{ github.sha }})"
body: |
Automated dev build from commit ${{ github.sha }} on branch `${{ github.ref_name }}`.
This build includes the new .NET Launcher and Updater.
prerelease: true
files: dist/hammer5tools.zip