Skip to content

Update OpenAttributeGraph integration and add Compute backend support#800

Merged
Kyle-Ye merged 7 commits intomainfrom
optimize/oag_update
Feb 26, 2026
Merged

Update OpenAttributeGraph integration and add Compute backend support#800
Kyle-Ye merged 7 commits intomainfrom
optimize/oag_update

Conversation

@Kyle-Ye
Copy link
Collaborator

@Kyle-Ye Kyle-Ye commented Feb 25, 2026

Summary

  • Align AG environment variable naming with OpenAttributeGraph's OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH / OPENATTRIBUTESHIMS_COMPUTE convention (prefixed with OPENSWIFTUI_)
  • Add Compute module backend support as an alternative to AttributeGraph
  • Remove swiftToolchain related build logic (SWIFT_TOOLCHAIN_PATH, SWIFT_TOOLCHAIN_VERSION, SWIFT_TOOLCHAIN_SUPPORTED, LIB_SWIFT_PATH) and associated unsafe flags
  • Propagate OPENSWIFTUI_ATTRIBUTEGRAPH / OPENSWIFTUI_COMPUTE defines to C and C++ settings (previously Swift-only)
  • Update all CI workflows to use the new env var names
  • Add Example README with AG backend configuration guide

Test plan

  • Verify macOS CI passes with OPENSWIFTUI_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH=1
  • Verify Ubuntu CI passes without AG/Compute enabled
  • Verify Compute backend builds with OPENSWIFTUI_OPENATTRIBUTESHIMS_COMPUTE=1

@Kyle-Ye Kyle-Ye requested a review from Mx-Iris as a code owner February 25, 2026 20:22
@github-actions github-actions bot added enhancement New feature or request build issue documentation Improvements or additions to documentation labels Feb 25, 2026
@augmentcode
Copy link

augmentcode bot commented Feb 25, 2026

🤖 Augment PR Summary

Summary: This PR updates OpenSwiftUI’s OpenAttributeGraph integration by renaming backend-selection environment variables and introducing an opt-in Compute backend path.

Changes:

  • Renamed CI/workflow env vars to `OPENSWIFTUI_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH` (and added docs for `..._COMPUTE`)
  • Added Compute backend selection in Package.swift and propagated OPENSWIFTUI_ATTRIBUTEGRAPH/OPENSWIFTUI_COMPUTE defines beyond Swift settings
  • Removed Swift toolchain path/version build logic and related unsafe flags from the manifest
  • Updated tests to gate/disable specific cases based on attributeGraphVendor (e.g., skipping known-OAG gaps)
  • Updated Example project docs and C interpose header selection for multiple backend headers
  • Bumped the pinned OpenAttributeGraph dependency revision

Technical Notes: Backend selection is now controlled via OpenAttributeGraphShims-style env flags, and CI is adjusted accordingly.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@github-actions github-actions bot added the P1 Medium priority label Feb 26, 2026
@codecov
Copy link

codecov bot commented Feb 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 27.66%. Comparing base (41578a7) to head (637f2f8).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #800      +/-   ##
==========================================
+ Coverage   27.58%   27.66%   +0.08%     
==========================================
  Files         657      652       -5     
  Lines       41220    40756     -464     
==========================================
- Hits        11370    11276      -94     
+ Misses      29850    29480     -370     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Kyle-Ye Kyle-Ye merged commit 289f806 into main Feb 26, 2026
7 of 9 checks passed
@Kyle-Ye Kyle-Ye deleted the optimize/oag_update branch February 26, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build issue documentation Improvements or additions to documentation enhancement New feature or request P1 Medium priority platform: Linux platform: macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant