ci: add GitHub Actions workflow to build Omega Mac app
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.
This commit is contained in:
parent
e42bbdff34
commit
dda28d642c
2 changed files with 73 additions and 1 deletions
72
.github/workflows/build-omega-mac.yml
vendored
Normal file
72
.github/workflows/build-omega-mac.yml
vendored
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
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
|
||||
|
|
@ -3,7 +3,7 @@ import PackageDescription
|
|||
|
||||
let package = Package(
|
||||
name: "OmegaMac",
|
||||
platforms: [.macOS(.v15)],
|
||||
platforms: [.macOS(.v14)],
|
||||
dependencies: [
|
||||
.package(url: "https://github.com/gonzalezreal/swift-markdown-ui", from: "2.4.0"),
|
||||
],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue