name: CI on: pull_request: branches: [main] paths-ignore: - '*.md' - 'docs/**' - 'AUDIT-*.md' - '.claude/**' - 'LICENSE' concurrency: group: ci-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: dotnet: name: .NET Build & Test uses: Sea-Haven-Industries/.github/.github/workflows/ci-dotnet.yaml@main with: working-directory: api solution: ProposalSystem.sln web: name: Web Frontend Check uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-cdk.yaml@main with: working-directory: web cache-dependency-path: web/package-lock.json node-version: "24" run-cdk-synth: false run-conventions-check: false python: name: Python Lint uses: Sea-Haven-Industries/.github/.github/workflows/ci-python-sam.yaml@main with: source-dirs: "lambdas/" run-sam-validate: false run-conventions-check: false mobile: name: Mobile Typecheck uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-cdk.yaml@main with: working-directory: mobile cache-dependency-path: mobile/package-lock.json node-version: "24" run-cdk-synth: false run-conventions-check: false infra: name: CDK Synth uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-cdk.yaml@main with: working-directory: infra cache-dependency-path: infra/package-lock.json node-version: "24" dotnet-version: "8.0.x" dotnet-publish-project: api/src/ProposalSystem.Api/ProposalSystem.Api.csproj run-typecheck: false