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: 6.0.x - name: Restore dependencies run: dotnet restore csharp/ApiDocs/ApiDocs.csproj - name: Download DocFX run: | mkdir -p build/docfx wget https://github.com/dotnet/docfx/releases/download/v${DOCFXVERSION}/docfx-linux-x64-v${DOCFXVERSION}.zip -O build/docfx/docfx.zip unzip build/docfx/docfx.zip -d build/docfx - name: Install NuGet uses: nuget/setup-nuget@v1 - name: Build Documentation run: | build/docfx/docfx metadata csharp/ApiDocs/docfx.json dotnet build csharp/ApiDocs/ApiDocs.csproj --no-restore build/docfx/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: 60