Skip to content

feat: Make double tap and usage of IMU conditional#12

Merged
eng1n88r merged 5 commits into
mainfrom
feature/defined-double-tap
Apr 3, 2024
Merged

feat: Make double tap and usage of IMU conditional#12
eng1n88r merged 5 commits into
mainfrom
feature/defined-double-tap

Conversation

@eng1n88r
Copy link
Copy Markdown
Contributor

refactor: Improve code and remove some unsupported defines

refactor: Improve code and remove some unsupported defines
Copy link
Copy Markdown
Contributor

@Bentlybro Bentlybro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works

Comment thread src/BluetoothDeviceDriver/BluetoothDeviceDriver.ino
@eng1n88r eng1n88r requested a review from axelpey March 31, 2024 02:46
Copy link
Copy Markdown
Contributor

@axelpey axelpey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to me

@eng1n88r eng1n88r merged commit ccbeed8 into main Apr 3, 2024
@eng1n88r eng1n88r deleted the feature/defined-double-tap branch April 3, 2024 05:46
m13v added a commit that referenced this pull request Feb 26, 2026
## Problem

Build #12 failed at \"Build Swift app (arm64 + x86_64)\" on a fresh
Codemagic Mac mini M2:

```
ERROR: arm64 binary not found at Desktop/.build/arm64-apple-macosx/release/Omi Computer
artifacts
checkouts
repositories
workspace-state.json
```

Root cause: SPM needs to download ~673MB of binary artifacts (Firebase,
Sentry, Sparkle xcframeworks) on a fresh machine. When `xcrun swift
build --arch arm64` runs, it tries to download everything **and
compile** in a single step. The download failed/aborted mid-way (375MB
of 673MB downloaded), leaving no `arm64-apple-macosx/` directory — so
compilation never started. Without `set -e`, the script continued to the
binary existence check and exited with 1.

Build #11 succeeded only because that machine had a warm SPM cache from
previous builds.

## Fix

1. **New \"Resolve SPM packages\" step** — runs `xcrun swift package
resolve` before building, with a 3-attempt retry loop. This
pre-downloads all binary artifacts. If the first attempt fails partway,
the second attempt resumes from where it left off (SPM checkpoints
downloads).

2. **`--triple` instead of `--arch`** — switches from `xcrun swift build
--arch arm64` to `--triple arm64-apple-macosx`. This matches the local
`release.sh` behavior and ensures the output binary **always** lands in
`.build/arm64-apple-macosx/release/` regardless of the machine's native
architecture (on native M2, `--arch arm64` may use the `release/`
symlink path).

3. **SPM cache** — adds `~/Library/Caches/org.swift.swiftpm` to
Codemagic's build cache so binary xcframeworks are not re-downloaded on
every subsequent build.

## Result

- Fresh machine: resolve step downloads packages with retry, then both
builds compile using already-cached artifacts
- Warm machine: resolve is instant (already cached), builds proceed
normally

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Glucksberg pushed a commit to Glucksberg/omi-local that referenced this pull request Apr 28, 2026
refactor: Improve code and remove some unsupported defines
Glucksberg pushed a commit to Glucksberg/omi-local that referenced this pull request Apr 28, 2026
…Hardware#5166)

## Problem

Build BasedHardware#12 failed at \"Build Swift app (arm64 + x86_64)\" on a fresh
Codemagic Mac mini M2:

```
ERROR: arm64 binary not found at Desktop/.build/arm64-apple-macosx/release/Omi Computer
artifacts
checkouts
repositories
workspace-state.json
```

Root cause: SPM needs to download ~673MB of binary artifacts (Firebase,
Sentry, Sparkle xcframeworks) on a fresh machine. When `xcrun swift
build --arch arm64` runs, it tries to download everything **and
compile** in a single step. The download failed/aborted mid-way (375MB
of 673MB downloaded), leaving no `arm64-apple-macosx/` directory — so
compilation never started. Without `set -e`, the script continued to the
binary existence check and exited with 1.

Build BasedHardware#11 succeeded only because that machine had a warm SPM cache from
previous builds.

## Fix

1. **New \"Resolve SPM packages\" step** — runs `xcrun swift package
resolve` before building, with a 3-attempt retry loop. This
pre-downloads all binary artifacts. If the first attempt fails partway,
the second attempt resumes from where it left off (SPM checkpoints
downloads).

2. **`--triple` instead of `--arch`** — switches from `xcrun swift build
--arch arm64` to `--triple arm64-apple-macosx`. This matches the local
`release.sh` behavior and ensures the output binary **always** lands in
`.build/arm64-apple-macosx/release/` regardless of the machine's native
architecture (on native M2, `--arch arm64` may use the `release/`
symlink path).

3. **SPM cache** — adds `~/Library/Caches/org.swift.swiftpm` to
Codemagic's build cache so binary xcframeworks are not re-downloaded on
every subsequent build.

## Result

- Fresh machine: resolve step downloads packages with retry, then both
builds compile using already-cached artifacts
- Warm machine: resolve is instant (already cached), builds proceed
normally

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants