Skip to content

App test coverage isn't on Codecov yet #679

Closed

Description

@Skeyelab

Summary

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


Details

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:

Verified on main 2026-10-21 at 2e43ca8

Activity

  1. added this to the Code health milestone on Oct 14, 2026
  2. changed the title [-]App unit test target, hosted on the Mac build[/-] [+]App test coverage isn't on Codecov yet[/+] on Oct 21, 2026
  3. Skeyelab commented on Oct 27, 2026

    @Skeyelab
    MemberAuthor

    This was generated by AI during triage.

    Agent Brief

    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.

    Out of scope:

  4. Skeyelab commented on Oct 27, 2026

    @Skeyelab
    MemberAuthor

    This was generated by AI during triage.

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentFully specified; an agent can pick this up

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions