chore: add Claude Code project settings #26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Platform CI | |
| on: | |
| pull_request: {} | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| jobs: | |
| markdownlint: | |
| name: Markdown lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: DavidAnson/markdownlint-cli2-action@v17 | |
| with: | |
| config: .markdownlint.json | |
| globs: | | |
| **/*.md | |
| !site/** | |
| !node_modules/** | |
| !.venv/** | |
| !CHANGELOG.md | |
| yaml-lint: | |
| name: YAML lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install yamllint | |
| run: pip install yamllint | |
| - name: Run yamllint | |
| run: yamllint -c .yamllint.yml .github/workflows mkdocs.yml .azurelocal-platform.yml | |
| mkdocs-build: | |
| name: MkDocs build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: requirements-docs.txt | |
| - name: Install docs dependencies | |
| run: pip install -r requirements-docs.txt | |
| - name: Build MkDocs site (strict) | |
| run: mkdocs build --strict --site-dir site | |
| - name: Upload site artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: mkdocs-site | |
| path: site/ | |
| retention-days: 7 | |
| link-check: | |
| name: Link check | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: lycheeverse/lychee-action@v2 | |
| with: | |
| args: --no-progress --max-retries 2 './**/*.md' | |
| fail: false | |
| maproom-schema: | |
| name: MAPROOM schema validation | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Import AzureLocal.Maproom and validate IIC canon | |
| shell: pwsh | |
| run: | | |
| Import-Module .\testing\maproom\AzureLocal.Maproom.psd1 -Force | |
| Get-Module AzureLocal.Maproom | Format-List Name, Version | |
| # Validate the platform IIC canon fixtures against the schema | |
| $canons = Get-ChildItem -Path .\testing\iic-canon\*.json -ErrorAction SilentlyContinue | |
| if (-not $canons) { | |
| Write-Warning "No IIC canon fixtures found — skipping validation." | |
| exit 0 | |
| } | |
| foreach ($f in $canons) { | |
| Write-Host "Validating $($f.Name)..." | |
| Test-MaproomFixture -Path $f.FullName | Out-Null | |
| Write-Host " OK $($f.Name)" | |
| } | |
| Write-Host "All $($canons.Count) IIC canon fixture(s) passed schema validation." | |
| structure: | |
| name: Structure self-test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Test-PlatformStructure.ps1 | |
| shell: pwsh | |
| run: | | |
| if (Test-Path ./scripts/Test-PlatformStructure.ps1) { | |
| ./scripts/Test-PlatformStructure.ps1 | |
| } else { | |
| Write-Host 'Test-PlatformStructure.ps1 not yet implemented — skipping' | |
| } |