From 40c1980b14c693477ad12dca28cd2d0047bf6b9c Mon Sep 17 00:00:00 2001 From: Vaclav Elias Date: Sun, 5 May 2024 12:04:58 +0100 Subject: [PATCH] feat: GitHub action reversed and auto version added and env DOCS_PATH --- .../workflows/stride-docs-staging-azure.yml | 68 +++++++++++++++---- 1 file changed, 54 insertions(+), 14 deletions(-) diff --git a/.github/workflows/stride-docs-staging-azure.yml b/.github/workflows/stride-docs-staging-azure.yml index 172e012ec..7fe8d22b1 100644 --- a/.github/workflows/stride-docs-staging-azure.yml +++ b/.github/workflows/stride-docs-staging-azure.yml @@ -3,6 +3,11 @@ 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: @@ -17,25 +22,60 @@ on: workflow_dispatch: jobs: - setup: - uses: ./.github/workflows/common-setup.yml - build: - needs: setup - runs-on: windows-2022 # Run this job only if the repository is 'stride3d/stride-docs' if: github.repository == 'stride3d/stride-docs' + runs-on: windows-2022 + steps: - - name: List Contents of Stride Docs Path - run: dir - working-directory: ${{ needs.setup.outputs.stride_docs_path }} - + - name: .NET SDK Setup + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.x + + # Checkout the Stride Docs repository from the branch that triggered the workflow + - name: Checkout Stride Docs + uses: actions/checkout@v4 + 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@v4 + with: + repository: stride3d/stride + token: ${{ secrets.GITHUB_TOKEN }} + path: stride + lfs: true + + - 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.76.0 + - name: Build documentation run: ./build-all.bat - working-directory: ${{ needs.setup.outputs.stride_docs_path }} + working-directory: ${{ env.DOCS_PATH }} - name: Compress artifact - run: 7z a -r DocFX-app.zip ./${{ needs.setup.outputs.stride_docs_path }}/_site/* + run: 7z a -r DocFX-app.zip ./${{ env.DOCS_PATH }}/_site/* - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 @@ -47,7 +87,7 @@ jobs: if: github.repository == 'stride3d/stride-docs' runs-on: windows-2022 - needs: [build, setup] + needs: build environment: name: 'Production' url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} @@ -62,7 +102,7 @@ jobs: # run: ls - name: Decompress artifact - run: 7z x DocFX-app.zip "-o./stride-docs/_site" + run: 7z x DocFX-app.zip "-o./${{ env.DOCS_PATH }}/_site" - name: Deploy to Azure Web App id: deploy-to-webapp @@ -71,4 +111,4 @@ jobs: app-name: 'stride-doc' slot-name: 'staging' publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_32FCD402B970463A9143B24C9B225749 }} - package: ./stride-docs/_site + package: ./${{ env.DOCS_PATH }}/_site \ No newline at end of file