Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ on:

jobs:
build:
runs-on: macos-15
runs-on: macos-26
steps:
- uses: actions/checkout@v4

- name: Select Xcode 16 (Swift 6.1 for PermissionFlow)
- name: Select Xcode 26.3 (PermissionFlow needs swift-tools-version 6.2)
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16'
xcode-version: '26.3'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Run Xcode 26.3 jobs on a compatible runner

Checked all three changed workflows: each still uses macos-15, but Xcode 26.3 requires macOS Tahoe and is absent from the macOS 15 runner inventory. The setup-xcode action only selects an installed matching version, so the build, release, and appcast jobs will fail during setup before running their scripts; move these jobs to a compatible macOS runner while retaining the repository's Xcode 26+ requirement.

AGENTS.md reference: AGENTS.md:L50-L50

Useful? React with 👍 / 👎.


- name: Build Aware
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish-appcast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ permissions:

jobs:
build-appcast:
runs-on: macos-15
runs-on: macos-26
steps:
- uses: actions/checkout@v4

- name: Select Xcode 16 (Swift 6.1 for PermissionFlow)
- name: Select Xcode 26.3 (PermissionFlow needs swift-tools-version 6.2)
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16'
xcode-version: '26.3'

- name: Resolve Sparkle tools
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@ env:

jobs:
build:
runs-on: macos-15
runs-on: macos-26

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep tagged releases compatible with Intel Macs

When a v* tag triggers this workflow, the macos-26 runner is Arm64, while the release build at line 51 supplies no ARCHS override; Xcode therefore packages an Arm64-only Aware.app. The previous macos-15 job produced an x86_64 app that also ran under Rosetta, so the next DMG will stop launching on Intel Macs despite the project still targeting macOS 13. Build the release for both arm64 and x86_64 (or otherwise retain an Intel release path).

Useful? React with 👍 / 👎.

outputs:
sparkle_enabled: ${{ steps.sparkle_settings.outputs.enabled }}
steps:
- uses: actions/checkout@v4

- name: Select Xcode 16 (Swift 6 for DMGMaker, 6.1 for PermissionFlow)
- name: Select Xcode 26.3 (PermissionFlow needs swift-tools-version 6.2)
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16'
xcode-version: '26.3'

- name: Determine Sparkle publishing settings
id: sparkle_settings
Expand All @@ -49,7 +49,7 @@ jobs:
- name: Build release
run: |
xcodebuild -scheme Aware -configuration Release -derivedDataPath build \
build -quiet
ARCHS="arm64 x86_64" ONLY_ACTIVE_ARCH=NO build -quiet

- name: Create DMG with DMGMaker
run: |
Expand Down
13 changes: 12 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,15 @@ Repo-agnostic skills (`sharpen-the-tip`, `prototype-mode`, `housekeeping`, `proa

- Before reporting a commit as missing required provenance fields, verify against the exact commit messages as they exist on GitHub. If the fields are present, do not claim they are missing.
- The provenance contract is defined in `records/REPO.md` and enforced by `scripts/new-commit-message.sh`. Cite the specific field that is missing and the rule it violates; do not review commits against an assumed format.
<!-- template-managed:end -->
<!-- template-managed:end -->

## Local Divergence

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve the AGENTS template boundary

Move this local-divergence block after the <!-- template-managed:end --> marker rather than removing the markers. On the next scheduled .github/workflows/template-sync.yml run, scripts/sync-from-template.sh will enter its marker-less migration path; because ## Code Review Rules is the final heading, it computes an empty local tail and replaces this file with only the template scaffold, silently deleting all of the newly restored Aware-specific guidance, including the PermissionFlow/Xcode requirement.

Useful? React with 👍 / 👎.


- Build verification: `xcodebuild -scheme Aware -configuration Debug -derivedDataPath build build`
- PermissionFlow comes from upstream jaywcjlove/PermissionFlow, pinned to v2.11.2, and requires Xcode 26+ to resolve (its manifest uses `swift-tools-version: 6.2`). The old LPFchan/PermissionFlow fork exists for reference: it carried a `@Sendable` fix in `SettingsNavigator` without which apps built with Xcode 16's SDK crash opening System Settings. If the build ever drops back to Xcode 16, restore the fork or re-apply that fix.
- Commit provenance setup: `scripts/install-hooks.sh` configures the tracked `commit-msg` hook locally.
- Commit provenance checks: `scripts/check-commit-standards.sh <commit-message-file>` and `scripts/check-commit-range.sh <base> <head>`
- There is no dedicated automated test suite in the repo today. For runtime changes, use the build plus focused manual validation.
- Preserve the product and workflow constraints in `records/SPEC.md`: menu bar-only UX, local presence detection, no telemetry or analytics, and safe failure when camera access is denied or unavailable.
- `AWARE-AGENT-PROMPT.md` is a legacy bootstrap helper. Do not treat it as a second policy layer.
- `upstream-intake/` is omitted in Aware because the repo does not currently track upstream review.
4 changes: 2 additions & 2 deletions Aware.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -359,10 +359,10 @@
};
F5A6B7C80001 /* XCRemoteSwiftPackageReference "PermissionFlow" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/LPFchan/PermissionFlow";
repositoryURL = "https://github.com/jaywcjlove/PermissionFlow";
requirement = {
kind = exactVersion;
version = "2.11.2-swift6.1.1";
version = "2.11.2";
Comment on lines +362 to +365

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update the canonical PermissionFlow guidance

When this switches the package to upstream v2.11.2, the canonical AGENTS.md guidance remains unchanged and still tells future contributors that Aware uses LPFchan/PermissionFlow at 2.11.2-swift6.1.1 and should carry its patches forward. Because agents are required to read that file before working, this stale instruction can cause later dependency updates to restore the obsolete fork or otherwise misrepresent the build requirements; update the Local Divergence entry alongside this package change.

AGENTS.md reference: AGENTS.md:L50-L50

Useful? React with 👍 / 👎.

};
};
/* End XCRemoteSwiftPackageReference section */
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading