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.
62 lines
1.8 KiB
YAML
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 }}"
|