Skip to content

Add env debug logging to diagnose network failure in packaged app #21

Add env debug logging to diagnose network failure in packaged app

Add env debug logging to diagnose network failure in packaged app #21

Workflow file for this run

name: Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
jobs:
build-windows:
name: Build Windows
runs-on: windows-latest
defaults:
run:
working-directory: lorefire-desktop
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.4"
extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite3, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, fileinfo
coverage: none
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: lorefire-desktop/package-lock.json
- name: Install Composer dependencies
run: composer install --no-dev --optimize-autoloader --no-interaction
- name: Install NPM dependencies
run: npm ci
- name: Extract version from tag
id: version
run: echo "VERSION=$($env:GITHUB_REF_NAME -replace '^v','')" >> $env:GITHUB_OUTPUT
shell: pwsh
- name: Create .env for build
env:
APP_VERSION: ${{ steps.version.outputs.VERSION }}
shell: pwsh
run: |
Copy-Item .env.example .env
php artisan key:generate
Add-Content .env ""
Add-Content .env "NATIVEPHP_APP_ID=com.justinwoodring.lorefire"
Add-Content .env "NATIVEPHP_APP_VERSION=$env:APP_VERSION"
Add-Content .env "NATIVEPHP_APP_AUTHOR='Justin Woodring'"
Add-Content .env "NATIVEPHP_APP_COPYRIGHT='Copyright © 2026 Justin Woodring'"
Add-Content .env "NATIVEPHP_APP_DESCRIPTION='A local-first chronicle for 5e tabletop campaigns'"
Add-Content .env "NATIVEPHP_APP_WEBSITE=https://github.com/JustinWoodring/lorefire"
Add-Content .env "NATIVEPHP_UPDATER_ENABLED=false"
- name: Build app
run: php artisan native:build win
- name: Find build artifacts
id: artifacts
shell: pwsh
run: |
$EXE = (Get-ChildItem -Recurse -Filter "*.exe" dist | Select-Object -First 1).FullName
$NSIS = (Get-ChildItem -Recurse -Filter "*.nsis.7z" dist | Select-Object -First 1).FullName
echo "EXE=$EXE" >> $env:GITHUB_OUTPUT
echo "NSIS=$NSIS" >> $env:GITHUB_OUTPUT
- name: Create GitHub Release and upload artifacts
uses: softprops/action-gh-release@v2
with:
name: "Lorefire ${{ github.ref_name }}"
draft: false
prerelease: false
generate_release_notes: true
files: |
${{ steps.artifacts.outputs.EXE }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-macos:
name: Build macOS
runs-on: macos-latest
defaults:
run:
working-directory: lorefire-desktop
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.4"
extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite3, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv
coverage: none
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: lorefire-desktop/package-lock.json
- name: Install Composer dependencies
run: composer install --no-dev --optimize-autoloader --no-interaction
- name: Install NPM dependencies
run: npm ci
- name: Extract version from tag
id: version
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
- name: Create .env for build
env:
APP_VERSION: ${{ steps.version.outputs.VERSION }}
run: |
cp .env.example .env
php artisan key:generate
echo "" >> .env
echo "NATIVEPHP_APP_ID=com.justinwoodring.lorefire" >> .env
echo "NATIVEPHP_APP_VERSION=${APP_VERSION}" >> .env
echo "NATIVEPHP_APP_AUTHOR='Justin Woodring'" >> .env
echo "NATIVEPHP_APP_COPYRIGHT='Copyright © 2026 Justin Woodring'" >> .env
echo "NATIVEPHP_APP_DESCRIPTION='A local-first chronicle for 5e tabletop campaigns'" >> .env
echo "NATIVEPHP_APP_WEBSITE=https://github.com/JustinWoodring/lorefire" >> .env
echo "NATIVEPHP_UPDATER_ENABLED=false" >> .env
- name: Build app
run: php artisan native:build mac
- name: Find build artifacts
id: artifacts
run: |
DMG=$(find dist -name "*.dmg" | head -1)
ZIP=$(find dist -name "*.zip" | head -1)
echo "DMG=${DMG}" >> $GITHUB_OUTPUT
echo "ZIP=${ZIP}" >> $GITHUB_OUTPUT
- name: Create GitHub Release and upload artifacts
uses: softprops/action-gh-release@v2
with:
name: "Lorefire ${{ github.ref_name }}"
draft: false
prerelease: false
generate_release_notes: true
files: |
lorefire-desktop/${{ steps.artifacts.outputs.DMG }}
lorefire-desktop/${{ steps.artifacts.outputs.ZIP }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}