Files
Jarvis/.github/workflows/codeql.yml
T
james.maes 223310aa27 ci(actions): full pipeline — build / test / scan / publish (#154)
Adds five GitHub Actions workflows + CODEOWNERS + BUILDING.md CI section.

- ci.yml: boundary gates (Ubuntu), webview pnpm test+build (Ubuntu), 14-package SPM matrix on macos-15, app target via xcodebuild, optional self-hosted real-hardware lane, semver tag-publish on push to develop/rc/release/main.
- codeql.yml: Swift + JS/TS with security-extended queries, weekly cron.
- semgrep.yml: p/default + p/swift + p/typescript + p/secrets, SARIF upload, optional SEMGREP_APP_TOKEN.
- dependency-review.yml: blocks severity:high on PRs touching manifests/lockfiles.
- release.yml: tag-triggered GitHub Release with auto-generated changelog.

Branch + tag conventions: feature/fix branches run checks only; develop publishes v0.X.Y-dev.<run_number>; rc/release publishes v0.X.Y-rc.N; main publishes v0.X.Y. Conventional-Commits-aware bumping (feat → minor, fix → patch, feat!/BREAKING → major). Seed version v0.1.0.
2026-05-13 06:28:10 -05:00

62 lines
1.8 KiB
YAML

# CodeQL static analysis for Swift + JavaScript/TypeScript.
name: CodeQL
on:
push:
branches: [develop, main, "rc/*", "release/*"]
pull_request:
branches: [develop, main]
schedule:
- cron: "0 9 * * 1"
concurrency:
group: codeql-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read
contents: read
security-events: write
jobs:
analyze:
name: Analyze ${{ matrix.language }}
runs-on: ${{ matrix.language == 'swift' && 'macos-15' || 'ubuntu-latest' }}
strategy:
fail-fast: false
matrix:
include:
- language: javascript-typescript
build-mode: none
- language: swift
build-mode: manual
steps:
- uses: actions/checkout@v4
- name: Select Xcode (swift)
if: matrix.language == 'swift'
run: sudo xcode-select -s /Applications/Xcode_16.app/Contents/Developer || sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
queries: security-extended
# CodeQL needs a manual Swift build. We build a representative subset
# of packages (Bus, AgentCore, MCP) so the security lane stays cheap;
# extending to all 14 packages would dominate the CI budget.
- name: Build Swift (CodeQL extraction)
if: matrix.language == 'swift'
run: |
swift build --package-path packages/Bus
swift build --package-path packages/AgentCore
swift build --package-path packages/MCP
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{ matrix.language }}"