Adds a manually-triggered workflow that builds the SwiftUI app on a macOS 15 runner with Xcode 16, packages it as a .app bundle, and uploads it as a downloadable artifact. Also lowers the deployment target to macOS 14 so it runs on Sonoma.
72 lines
2.2 KiB
YAML
72 lines
2.2 KiB
YAML
name: Build Omega Mac
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: macos-15
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Select Xcode
|
|
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
|
|
|
|
- name: Resolve dependencies
|
|
working-directory: apps/omega-mac
|
|
run: swift package resolve
|
|
|
|
- name: Build release
|
|
working-directory: apps/omega-mac
|
|
run: swift build -c release
|
|
|
|
- name: Package .app bundle
|
|
working-directory: apps/omega-mac
|
|
run: |
|
|
mkdir -p OmegaMac.app/Contents/MacOS
|
|
mkdir -p OmegaMac.app/Contents/Resources
|
|
cp .build/release/OmegaMac OmegaMac.app/Contents/MacOS/OmegaMac
|
|
|
|
cat > OmegaMac.app/Contents/Info.plist << 'PLIST'
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>CFBundleExecutable</key>
|
|
<string>OmegaMac</string>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>com.tpmjs.omega-mac</string>
|
|
<key>CFBundleName</key>
|
|
<string>Omega</string>
|
|
<key>CFBundleDisplayName</key>
|
|
<string>Omega</string>
|
|
<key>CFBundleVersion</key>
|
|
<string>1</string>
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>1.0.0</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<key>LSMinimumSystemVersion</key>
|
|
<string>14.0</string>
|
|
<key>NSHighResolutionCapable</key>
|
|
<true/>
|
|
<key>com.apple.security.app-sandbox</key>
|
|
<false/>
|
|
<key>com.apple.security.network.client</key>
|
|
<true/>
|
|
<key>NSAppTransportSecurity</key>
|
|
<dict>
|
|
<key>NSAllowsArbitraryLoads</key>
|
|
<true/>
|
|
</dict>
|
|
</dict>
|
|
</plist>
|
|
PLIST
|
|
|
|
codesign --force --sign - OmegaMac.app
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: OmegaMac
|
|
path: apps/omega-mac/OmegaMac.app
|