You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The app's own code (everything outside the shared Kit) now has a unit test target that runs on the Mac build with no Simulator. Its coverage still isn't uploaded to Codecov, and the record screen's remaining glue has no tests yet.
Why it matters
Without coverage numbers, nobody can see how much of the app layer is tested, and the app status on Codecov stays empty.
Done when
CI uploads AppTests coverage to Codecov with flag app, and the app status shows a number on a PR.
Done (#680): an AppTests unit test target in project.yml (lines 35, 116), hosted on the macOS app, listed only under the scheme's Testables so the iOS build, preflight.sh and the release archive never build it. In Debug under XCTest the app launches a bare window, so no audio, Mixer, StoreKit or Drive work starts during tests. CI runs it on the macOS leg ("App tests (macOS)", .github/workflows/ci.yml:132), and verify.sh runs it in full mode only (line 153). Tests so far: AppVersionTests, DriveFolderModelTests, MeterGridTests, SupportMailTests.
Left:
Coverage upload:codecov.yml already defines an informational app flag, but CI uploads only flags: kit (ci.yml:111). The app test step needs coverage enabled and its own upload. Follows CI: Kit coverage in the log, as an artifact, and on Codecov #675 (merged).
Category: enhancement Summary: CI uploads the AppTests coverage to Codecov under the app flag. This brief covers only that part of the issue.
Current behavior:
CI runs the AppTests target on the macOS leg ("App tests (macOS)"), but uploads coverage only for the Kit (flags: kit). codecov.yml already defines an informational app flag, so the app status is always empty.
Desired behavior:
The App tests step collects coverage for the app target and uploads it with flags: app, the same way the Kit upload does. That means report only: an upload problem never fails CI, and the statuses stay informational. Website-only changes still skip the app job, and the existing required-status workaround for codecov/project and codecov/patch still holds.
Acceptance criteria:
On this PR, Codecov shows an app flag with a number.
A failed upload doesn't fail CI.
The iOS build, preflight.sh and the release archive still never build AppTests.
CI is green on the macOS leg. Run the full verify.sh if project.yml or the scheme changes.
Done: #973 uploads AppTests coverage to Codecov under the app flag, and #980 added the first tests for the glue left in the Record screen model after #552's moves. Both merged with CI green on the macOS leg.
Activity
App tests: an AppTests target on the Mac build, run by CI and verify (#…
[-]App unit test target, hosted on the Mac build[/-][+]App test coverage isn't on Codecov yet[/+]Skeyelab commentedon Oct 27, 2026
Agent Brief
Category: enhancement
Summary: CI uploads the AppTests coverage to Codecov under the
appflag. This brief covers only that part of the issue.Current behavior:
CI runs the
AppTeststarget on the macOS leg ("App tests (macOS)"), but uploads coverage only for the Kit (flags: kit).codecov.ymlalready defines an informationalappflag, so theappstatus is always empty.Desired behavior:
The App tests step collects coverage for the app target and uploads it with
flags: app, the same way the Kit upload does. That means report only: an upload problem never fails CI, and the statuses stay informational. Website-only changes still skip the app job, and the existing required-status workaround forcodecov/projectandcodecov/patchstill holds.Acceptance criteria:
appflag with a number.preflight.shand the release archive still never buildAppTests.verify.shifproject.ymlor the scheme changes.Out of scope:
apprequired.CI uploads the AppTests coverage to Codecov under the app flag (#679) (…
AppTests cover the App glue that fills the Record screen snapshot, th…
AppTests cover the App glue that fills the Record screen snapshot, th…
Skeyelab commentedon Oct 27, 2026
Done: #973 uploads AppTests coverage to Codecov under the
appflag, and #980 added the first tests for the glue left in the Record screen model after #552's moves. Both merged with CI green on the macOS leg.