Skip to content

test app build on mac #3

test app build on mac

test app build on mac #3

Workflow file for this run

name: Build and Release Electron App
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.23'
- name: Update and install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libzmq3-dev
# Verify installation
dpkg -s libzmq3-dev
- name: Build
run: go build -o ui/public/zasper app.go
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '22.7'
- name: Install dependencies
run: cd ui && npm install
- name: Package Electron app
run: cd ui && npm run electron-package
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: zasper-0.1.0-arm64.dmg
path: ui/dist
- name: Create Release Asset
if: github.event_name == 'release'
run: |
release_url=$(curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-X POST \
-d "{\"tag_name\":\"${{ github.event.release.tag_name }}\"}" \
https://api.github.com/repos/${{ github.repository }}/releases)
upload_url=$(echo "$release_url" | jq -r .upload_url | sed 's/{?name,label}//')
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Content-Type: application/zip" \
--data-binary "@path/to/your/output/files/your-app.zip" \
"$upload_url?name=your-app.zip"