From 8fafa3479ea6e907ba776b03ca02a232e4bed84e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:38:35 +0000 Subject: [PATCH 1/6] Initial plan From fdc900cda10ba3cbcde45044cff574cde9c54d9a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:41:47 +0000 Subject: [PATCH 2/6] Add iOS build workflow and artifact docs Co-authored-by: ahirner <6055037+ahirner@users.noreply.github.com> --- .github/workflows/ios-build.yml | 43 +++++++++++++++++++++++++++++++++ README.md | 4 +++ 2 files changed, 47 insertions(+) create mode 100644 .github/workflows/ios-build.yml diff --git a/.github/workflows/ios-build.yml b/.github/workflows/ios-build.yml new file mode 100644 index 0000000..1e125a6 --- /dev/null +++ b/.github/workflows/ios-build.yml @@ -0,0 +1,43 @@ +name: iOS Build + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +jobs: + build: + runs-on: macos-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Fetch Dishtracker SDK dependency + run: git clone --depth 1 https://github.com/MoonVision/ZeroQDishtrackerSDKiOS.git ../ZeroQDishtrackerSDKiOS + + - name: Build iOS app (unsigned) + run: | + xcodebuild \ + -project DishtrackerCoreExample.xcodeproj \ + -target DishtrackerCoreExample \ + -configuration Release \ + -sdk iphoneos \ + -derivedDataPath build \ + CODE_SIGNING_ALLOWED=NO \ + CODE_SIGNING_REQUIRED=NO \ + CODE_SIGNING_IDENTITY="" + + - name: Package app artifact + run: | + mkdir -p artifacts + ditto -c -k --sequesterRsrc --keepParent \ + build/Build/Products/Release-iphoneos/DishtrackerCoreExample.app \ + artifacts/DishtrackerCoreExample.app.zip + + - name: Upload app artifact + uses: actions/upload-artifact@v4 + with: + name: DishtrackerCoreExample-iphoneos + path: artifacts/DishtrackerCoreExample.app.zip diff --git a/README.md b/README.md index cb0af69..95870f5 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,10 @@ This is the SPM example app for [DishtrackerSDK for iOS](https://github.com/Moon * Follow the steps in Xcode to clone and open the project. * Build and run. +## CI Build Artifact + +GitHub Actions produces an unsigned device build artifact (`DishtrackerCoreExample-iphoneos`) as a zipped `.app`. Download it from the workflow run artifacts and re-sign it if you plan to distribute it (for example, via Firebase App Distribution). + ## License This software is licensed under a [modified BSD license](LICENSE). From b6489e58c531657c6c969d9cc0bce0a831c5439b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:43:08 +0000 Subject: [PATCH 3/6] Set workflow permissions Co-authored-by: ahirner <6055037+ahirner@users.noreply.github.com> --- .github/workflows/ios-build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ios-build.yml b/.github/workflows/ios-build.yml index 1e125a6..ddfbaca 100644 --- a/.github/workflows/ios-build.yml +++ b/.github/workflows/ios-build.yml @@ -7,6 +7,10 @@ on: pull_request: workflow_dispatch: +permissions: + contents: read + actions: write + jobs: build: runs-on: macos-latest From b80e5d5c8dedd936a9e16c218dbfe88f41e6fb7d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:44:16 +0000 Subject: [PATCH 4/6] Use token for SDK clone Co-authored-by: ahirner <6055037+ahirner@users.noreply.github.com> --- .github/workflows/ios-build.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ios-build.yml b/.github/workflows/ios-build.yml index ddfbaca..398a9f2 100644 --- a/.github/workflows/ios-build.yml +++ b/.github/workflows/ios-build.yml @@ -19,7 +19,12 @@ jobs: uses: actions/checkout@v4 - name: Fetch Dishtracker SDK dependency - run: git clone --depth 1 https://github.com/MoonVision/ZeroQDishtrackerSDKiOS.git ../ZeroQDishtrackerSDKiOS + env: + SDK_TOKEN: ${{ secrets.DISHTRACKER_SDK_TOKEN || github.token }} + run: | + GIT_TERMINAL_PROMPT=0 git clone --depth 1 \ + https://x-access-token:${SDK_TOKEN}@github.com/MoonVision/ZeroQDishtrackerSDKiOS.git \ + ../ZeroQDishtrackerSDKiOS - name: Build iOS app (unsigned) run: | From 2ce7b4455d46bdecabe6b1fbafef91bd573a10db Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 22:02:31 +0000 Subject: [PATCH 5/6] Add shared scheme for CI build Co-authored-by: ahirner <6055037+ahirner@users.noreply.github.com> --- .github/workflows/ios-build.yml | 2 +- .../xcschemes/DishtrackerCoreExample.xcscheme | 77 +++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 DishtrackerCoreExample.xcodeproj/xcshareddata/xcschemes/DishtrackerCoreExample.xcscheme diff --git a/.github/workflows/ios-build.yml b/.github/workflows/ios-build.yml index 398a9f2..c5eefdf 100644 --- a/.github/workflows/ios-build.yml +++ b/.github/workflows/ios-build.yml @@ -30,7 +30,7 @@ jobs: run: | xcodebuild \ -project DishtrackerCoreExample.xcodeproj \ - -target DishtrackerCoreExample \ + -scheme DishtrackerCoreExample \ -configuration Release \ -sdk iphoneos \ -derivedDataPath build \ diff --git a/DishtrackerCoreExample.xcodeproj/xcshareddata/xcschemes/DishtrackerCoreExample.xcscheme b/DishtrackerCoreExample.xcodeproj/xcshareddata/xcschemes/DishtrackerCoreExample.xcscheme new file mode 100644 index 0000000..b70a301 --- /dev/null +++ b/DishtrackerCoreExample.xcodeproj/xcshareddata/xcschemes/DishtrackerCoreExample.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From aca2be238981442f2e2346e8d4bc4cbe7625f26b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 22:13:25 +0000 Subject: [PATCH 6/6] Fix sample location/test data definitions Co-authored-by: ahirner <6055037+ahirner@users.noreply.github.com> --- .../Extensions/Location+Test.swift | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/DishtrackerCoreExample/Extensions/Location+Test.swift b/DishtrackerCoreExample/Extensions/Location+Test.swift index 3a03edd..ca6159c 100644 --- a/DishtrackerCoreExample/Extensions/Location+Test.swift +++ b/DishtrackerCoreExample/Extensions/Location+Test.swift @@ -15,6 +15,27 @@ extension Location { name: "Demo" ) + static let hellotessDev = Location( + locationID: "hellotess-dev", + name: "HelloTess Dev" + ) + + static let hellotessDevFeature = Location( + locationID: "hellotess-dev-feature", + name: "HelloTess Dev Feature" + ) + + static let dishtrackerCloudDemo = Location( + locationID: "dishtracker-cloud-demo", + name: "Dishtracker Cloud Demo" + ) + + static let dishtrackerCloudDemoMobile = Location( + locationID: "dishtracker-cloud-demo-mobile", + name: "Dishtracker Cloud Demo Mobile" + ) +} + extension String { static let authDev = "Bearer xxx"