-
Notifications
You must be signed in to change notification settings - Fork 3k
62 lines (58 loc) · 1.88 KB
/
publish-csharp-apidocs.yml
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
name: Update C# API Docs
# Run when the C# API changes or every month so that the artifact does not expire
on:
push:
branches:
- main
paths:
- csharp/**
schedule:
- cron: '0 0 1,15 * *'
workflow_dispatch:
concurrency:
group: "apidocs-csharp"
cancel-in-progress: false
permissions:
contents: write
jobs:
build:
runs-on: ["self-hosted", "1ES.Pool=onnxruntime-github-vs2022-mms"]
env:
DOCFXVERSION: 2.62.2
steps:
- uses: actions/checkout@v4
- name: Install DocFX
run: |
dotnet tool update -g docfx
- name: Update PATH
run: |
echo %USERPROFILE%\.dotnet\tools >> "$GITHUB_PATH"
# NOTE: We need to restore Microsoft.ML.OnnxRuntime.csproj manually to set IncludeMobileTargets=false
# docfx doesn't seem to be able to do that properly resulting in build errors
- name: Restore dependencies
run: |
dotnet restore csharp/ApiDocs/ApiDocs.csproj
dotnet restore /p:IncludeMobileTargets=false csharp/src/Microsoft.ML.OnnxRuntime/Microsoft.ML.OnnxRuntime.csproj
- name: docfx metadata
run: |
docfx metadata csharp/ApiDocs/docfx.json
- name: Build ApiDocs project
run: |
dotnet build csharp/ApiDocs/ApiDocs.csproj --no-restore
- name: docfx build
run: |
docfx build csharp/ApiDocs/docfx.json
- name: Log source commit
run: git rev-parse --short HEAD > csharp/ApiDocs/csharp/source-version.txt
- name: Move C# docs into site
shell: pwsh
run: |
New-Item -Path _site/docs/api -Force -ItemType "Directory" | Out-Null
Remove-Item -Recurse -Force _site/docs/api/csharp
Move-Item -Path csharp\ApiDocs\csharp -Destination _site\docs\api\csharp
- name: Upload docs artifact
uses: actions/upload-artifact@v4
with:
name: onnxruntime-csharp-apidocs
path: _site
retention-days: 30