-
Notifications
You must be signed in to change notification settings - Fork 0
118 lines (99 loc) · 3.03 KB
/
Copy pathplatform-ci.yml
File metadata and controls
118 lines (99 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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'
}