Skip to content

feat: add common utilities and path management logic while fixing add… #168

feat: add common utilities and path management logic while fixing add…

feat: add common utilities and path management logic while fixing add… #168

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
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Install Python dependencies
run: pip install -r requirements.txt
- name: Install Velopack CLI
run: |
dotnet tool install -g vpk
echo "$HOME\.dotnet\tools" >> $env:GITHUB_PATH
- name: Build All
run: python makefile.py --build-all --dev
- name: Validate Velopack hooks
shell: pwsh
run: |
Push-Location Hammer5Tools
if (Test-Path .\Hammer5Tools.exe) {
& .\Hammer5Tools.exe --velopack-install
& .\Hammer5Tools.exe --squirrel-install
} elseif (Test-Path .\app\Hammer5Tools.exe) {
& .\app\Hammer5Tools.exe --velopack-install
& .\app\Hammer5Tools.exe --squirrel-install
} else {
Write-Host 'Hammer5Tools.exe not found; unable to test hooks. Directory content:'
Get-ChildItem -Recurse
exit 1
}
Pop-Location
- name: Read app version
id: version
run: |
$ver = python -c "from src.common import app_version; print(app_version)"
$ver = "$ver-dev.${{ github.run_number }}"
echo "app_version=$ver" >> $env:GITHUB_OUTPUT
- name: Get Release Notes
run: |
# Get the last 5 commit messages for the dev build notes
$notes = git log -n 5 --pretty=format:"* %s (%h)"
"### Recent Changes (Dev Build):`n$notes" | Out-File -FilePath release_notes.md -Encoding utf8
- name: Velopack Pack
run: |
& "$HOME\.dotnet\tools\vpk.exe" pack --packId Hammer5Tools --packVersion ${{ steps.version.outputs.app_version }} --packDir Hammer5Tools --mainExe Hammer5Tools.exe --icon src/appicon.ico --channel dev --noPortable --releaseNotes release_notes.md
- name: Delete old dev release
run: gh release delete dev --yes --cleanup-tag
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: true
- name: Velopack Upload
run: |
& "$HOME\.dotnet\tools\vpk.exe" upload github --repoUrl https://github.com/dertwist/Hammer5Tools --publish --token ${{ secrets.GITHUB_TOKEN }} --channel dev --tag dev --pre