From 3b15042882c6e931c145f867b3b06abbaf910d5c Mon Sep 17 00:00:00 2001 From: Niklas Haiden Date: Mon, 28 Sep 2026 22:16:12 +0200 Subject: [PATCH] Add Gitea workflow to build the macOS app Builds a Release, ad-hoc signed app on the macos-arm64 runner and uploads it as a zipped artifact. Also fixes INFOPLIST_FILE, which pointed at a nonexistent MyApp/Info.plist and broke every build. Co-Authored-By: Claude Opus 5.5 --- .gitea/workflows/build.yml | 53 +++++++++++++++++++++++++++ proxy studio.xcodeproj/project.xcproj | 2 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 .gitea/workflows/build.yml diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..d0b130b --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,53 @@ +name: Build + +on: + push: + branches: [main] + tags: ["v*"] + pull_request: + workflow_dispatch: + +jobs: + build: + # Must match a label registered on your macOS act_runner (host mode). + runs-on: macos-arm64 + env: + PROJECT: proxy studio.xcodeproj + TARGET: proxy studio + APP_NAME: Proxy Studio + steps: + - uses: actions/checkout@v4 + + - name: Show toolchain + run: | + xcode-select -p + xcodebuild -version + + - name: Build + run: | + set -o pipefail + xcodebuild build \ + -project "$PROJECT" \ + -target "$TARGET" \ + -configuration Release \ + SYMROOT="$PWD/build" \ + CODE_SIGN_STYLE=Manual \ + CODE_SIGN_IDENTITY=- \ + DEVELOPMENT_TEAM= \ + | tee xcodebuild.log + + - name: Package + run: | + cd build/Release + ditto -c -k --keepParent "$APP_NAME.app" "$GITHUB_WORKSPACE/ProxyStudio.zip" + + - uses: actions/upload-artifact@v4 + with: + name: ProxyStudio-${{ github.sha }} + path: ProxyStudio.zip + + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: xcodebuild-log + path: xcodebuild.log diff --git a/proxy studio.xcodeproj/project.xcproj b/proxy studio.xcodeproj/project.xcproj index e034d6c..1c3e932 100644 --- a/proxy studio.xcodeproj/project.xcproj +++ b/proxy studio.xcodeproj/project.xcproj @@ -62,7 +62,7 @@ "ENABLE_RESOURCE_ACCESS_USB": "NO", "ENABLE_USER_SELECTED_FILES": "readonly", "GENERATE_INFOPLIST_FILE": "YES", - "INFOPLIST_FILE": "MyApp/Info.plist", + "INFOPLIST_FILE": "proxy studio/Info.plist", "INFOPLIST_KEY_CFBundleDisplayName": "Proxy Studio", "INFOPLIST_KEY_LSApplicationCategoryType": "public.app-category.developer-tools", "INFOPLIST_KEY_NSLocalNetworkUsageDescription": "Proxy Studio connects to your Nginx Proxy Manager and UniFi gateways to manage proxy hosts, certificates, and DNS records.", -- 2.54.0