Skip to content

Add Swift CodeQL analysis for macOS system audio helper#103

Merged
alexkroman merged 2 commits into
mainfrom
claude/festive-dirac-wor208
Jun 12, 2026
Merged

Add Swift CodeQL analysis for macOS system audio helper#103
alexkroman merged 2 commits into
mainfrom
claude/festive-dirac-wor208

Conversation

@alexkroman

Copy link
Copy Markdown
Collaborator

Summary

Extends CodeQL analysis to include the Swift macOS system audio helper by adding a new matrix configuration that runs on macOS with manual build mode, since Swift is a compiled language that requires an actual build step.

Changes

  • Matrix configuration: Converted from a simple language list to an explicit include matrix that specifies OS and build-mode for each language:
    • Python, actions, and javascript-typescript continue on ubuntu-latest with build-mode: none
    • Swift added on macos-latest with build-mode: manual
  • Dynamic runner selection: Changed runs-on from hardcoded ubuntu-latest to ${{ matrix.os }} to support macOS runners
  • Dynamic build mode: Updated CodeQL init step to use ${{ matrix.build-mode }} instead of hardcoded none
  • Manual Swift build step: Added conditional build step that compiles the macOS system audio helper with swiftc when matrix.build-mode == 'manual', linking required frameworks (ScreenCaptureKit, AVFoundation, CoreMedia, CoreGraphics)

Implementation Details

The Swift build step mirrors the compilation invocation used in scripts/check.sh, ensuring CodeQL observes the same build that the project uses. The conditional execution (if: matrix.build-mode == 'manual') keeps the step isolated to Swift analysis runs only.

https://claude.ai/code/session_01Rx5VddzEgBSvjT21fjaWYi

CodeQL's Swift autobuild fails on this repo: Swift is a compiled
language, and autobuild looks for an Xcode or SwiftPM project, but the
only Swift here is the bare macOS system-audio helper that check.sh
compiles directly with swiftc. Add a swift matrix entry on macos-latest
with build-mode manual, tracing the same swiftc invocation check.sh
uses, so the helper actually gets scanned.

https://claude.ai/code/session_01Rx5VddzEgBSvjT21fjaWYi
@alexkroman alexkroman enabled auto-merge (squash) June 12, 2026 04:34
@alexkroman alexkroman merged commit 81bd38e into main Jun 12, 2026
16 checks passed
@alexkroman alexkroman deleted the claude/festive-dirac-wor208 branch June 12, 2026 04:39
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.

2 participants