Merge pull request #447 from stride3d/master #97
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
| # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy | |
| # More GitHub Actions for Azure: https://github.com/Azure/actions | |
| name: Build Stride Docs for Azure Web App Staging | |
| env: | |
| COMMON_SETTINGS_PATH: en/docfx.json | |
| VERSION: "2.0.0.${{ github.run_number }}" | |
| DOCS_PATH: stride-docs | |
| on: | |
| push: | |
| branches: | |
| - staging | |
| paths-ignore: | |
| - 'README.md' | |
| - 'Stride.Docs.sln' | |
| - 'BuildDocs.ps1' | |
| - 'wiki/**' | |
| - .gitignore | |
| - '.github/**' | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| # Run this job only if the repository is 'stride3d/stride-docs' | |
| if: github.repository == 'stride3d/stride-docs' | |
| runs-on: windows-latest | |
| steps: | |
| - name: .NET SDK Setup | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.x | |
| # Checkout the Stride Docs repository from the branch that triggered the workflow | |
| - name: Checkout Stride Docs | |
| uses: actions/checkout@v5 | |
| with: | |
| path: ${{ env.DOCS_PATH }} | |
| lfs: true | |
| - name: Set Version in docfx.json | |
| run: | | |
| $settingsContent = Get-Content -Path "${{ env.DOCS_PATH }}/${{ env.COMMON_SETTINGS_PATH }}" -Raw | |
| $updatedDocFxJsonContent = $settingsContent -replace '2.0.0.x', "${{ env.VERSION }}" | |
| Set-Content -Path "${{ env.DOCS_PATH }}/${{ env.COMMON_SETTINGS_PATH }}" -Value $updatedDocFxJsonContent | |
| shell: pwsh | |
| # - name: Display Updated docfx.json | |
| # run: cat "${{ env.DOCS_PATH }}/${{ env.COMMON_SETTINGS_PATH }}" | |
| # shell: pwsh | |
| # - name: Fail the Workflow | |
| # run: exit 1 | |
| # shell: pwsh | |
| # Checkout the Stride repository from the default branch | |
| - name: Checkout Stride (note the LFS) | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: stride3d/stride | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| path: stride | |
| lfs: true | |
| ref: master | |
| # Temporary solution till the new docfx is available | |
| - name: Checkout DocFX PR Branch | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: filzrev/docfx | |
| ref: feat-add-net10-support | |
| path: docfx-build | |
| - name: Restore npm dependencies | |
| run: npm install | |
| working-directory: docfx-build/templates | |
| - name: Build site templates | |
| run: npm run build | |
| working-directory: docfx-build/templates | |
| - name: Build DocFX from PR | |
| run: dotnet pack src/docfx -c Release /p:Version=2.9-stride -o drop/nuget | |
| working-directory: docfx-build | |
| shell: pwsh | |
| - name: Build Install DocFX | |
| run: dotnet tool install -g docfx --version 2.9-stride --add-source drop/nuget | |
| working-directory: docfx-build | |
| shell: pwsh | |
| # End of Temporary solution | |
| #- name: Install DocFX | |
| # This installs the latest version of DocFX and may introduce breaking changes | |
| # run: dotnet tool update -g docfx | |
| # This installs a specific, tested version of DocFX. | |
| #run: dotnet tool update -g docfx --version 2.78.3 | |
| - name: Build documentation | |
| run: ./build-all.bat | |
| working-directory: ${{ env.DOCS_PATH }} | |
| - name: Compress artifact | |
| run: 7z a -r DocFX-app.zip ./${{ env.DOCS_PATH }}/_site/* | |
| - name: Upload artifact for deployment job | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: DocFX-app | |
| path: DocFX-app.zip | |
| deploy: | |
| if: github.repository == 'stride3d/stride-docs' | |
| runs-on: windows-latest | |
| needs: build | |
| environment: | |
| name: 'Production' | |
| url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} | |
| steps: | |
| - name: Download artifact from build job | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: DocFX-app | |
| # - name: List current directory | |
| # run: ls | |
| - name: Decompress artifact | |
| run: 7z x DocFX-app.zip "-o./${{ env.DOCS_PATH }}/_site" | |
| - name: Deploy to Azure Web App | |
| id: deploy-to-webapp | |
| uses: azure/webapps-deploy@v2 | |
| with: | |
| app-name: 'stride-doc' | |
| slot-name: 'staging' | |
| publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_32FCD402B970463A9143B24C9B225749 }} | |
| package: ./${{ env.DOCS_PATH }}/_site |