Update C# API Docs #4
This file contains 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: 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 * *' | |
workflow_dispatch: | |
concurrency: | |
group: "apidocs-csharp" | |
cancel-in-progress: false | |
permissions: | |
contents: write | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
DOCFXVERSION: 2.62.2 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Install DocFX | |
run: | | |
dotnet tool update -g docfx | |
# 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 | |
run: | | |
mkdir -p _site/docs/api | |
rm -rf _site/docs/api/csharp | |
mv csharp/ApiDocs/csharp _site/docs/api/csharp | |
- name: Upload docs artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: onnxruntime-csharp-apidocs | |
path: _site | |
retention-days: 30 |