Skip to content

Merge pull request #492 from TimeWarpEngineering/Cramer/2024-10-20/Sa… #166

Merge pull request #492 from TimeWarpEngineering/Cramer/2024-10-20/Sa…

Merge pull request #492 from TimeWarpEngineering/Cramer/2024-10-20/Sa… #166

name: Publish Documentation
on:
# Runs on pushes targeting the default branch
push:
branches:
- master
paths:
- 'Documentation/**'
- '.github/workflows/publish-documentation.yml'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
DOTNET_NOLOGO: true # Disable the .NET logo in the console output
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true # Disable the .NET first time experience to skip caching NuGet packages and speed up the build
DOTNET_CLI_TELEMETRY_OPTOUT: true
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
publish-docs:
defaults:
run:
shell: pwsh
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: windows-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Dotnet Setup
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.x
- name: Setup DocFX
run: dotnet tool update --global docfx
- name: Run Build Script
run: ./.github/workflows/build.ps1
working-directory: ${{ github.workspace }}
- name: DocFX Build
working-directory: Documentation
run: docfx docfx.json
continue-on-error: false
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: './Documentation/_site'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
- run: echo "🍏 This job's status is ${{ job.status }}."