ci: add Electron build process to release workflow

Add steps to build and upload Electron app artifacts as part of the release workflow. This includes setting up Node.js, installing dependencies, and building the app for different platforms (Windows, macOS, Linux). The built artifacts are then uploaded as release assets.
This commit is contained in:
KevIsDev 2025-05-12 01:08:34 +01:00
parent 4354ad45b9
commit 73442dde87

View File

@ -88,7 +88,6 @@ jobs:
env:
NEW_VERSION: ${{ steps.bump_version.outputs.new_version }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: .github/scripts/generate-changelog.sh
- name: Get the latest commit hash and version tag
@ -96,6 +95,57 @@ jobs:
echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
echo "NEW_VERSION=${{ steps.bump_version.outputs.new_version }}" >> $GITHUB_ENV
# Electron Build Process (added)
- name: Checkout Electron App
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js and pnpm for Electron
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install pnpm for Electron
uses: pnpm/action-setup@v2
with:
version: latest
run_install: true
- name: Install Dependencies for Electron
run: pnpm install
- name: Install Linux dependencies for Electron
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y rpm
- name: Build Electron app
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
pnpm run electron:build:win
elif [ "$RUNNER_OS" == "macOS" ]; then
pnpm run electron:build:mac
else
pnpm run electron:build:linux
fi
- name: Upload Electron Build as Release Assets
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.bump_version.outputs.new_version }}
name: "Electron Release v${{ steps.bump_version.outputs.new_version }}"
files: |
dist/*.exe
dist/*.dmg
dist/*.deb
dist/*.AppImage
dist/*.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Commit and Tag Release
- name: Commit and Tag Release
run: |
git pull