Skip to content

RN 41368

RN 41368 #21473

name: Azure Static Web Apps CI/CD
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- main
jobs:
build_job:
runs-on: windows-latest
name: Build Job
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install DocFX
run: dotnet tool update -g docfx
env:
CI: true
- name: Restore NuGet
run: dotnet restore "src/NuGetPackages"
- name: Build
run: dotnet build "src/NuGetPackages" --configuration Release
- name: Build Documentation
id: build-documentation
run: |
docfx metadata
docfx build --warningsAsErrors
shell: powershell
- name: Zip artifact for deployment
run: Compress-Archive -Path _site/* -DestinationPath .\_site.zip
- name: Publish results
uses: actions/upload-artifact@v4
with:
name: release
path: _site.zip
deploy_job:
if: (github.event_name == 'push' && github.repository == 'SkylineCommunications/dataminer-docs')
runs-on: ubuntu-latest
needs: build_job
name: Deploy Job
steps:
- uses: actions/download-artifact@v4
with:
name: release
path: .
- name: Unzip artifact for deployment
run: Expand-Archive -Path _site.zip -DestinationPath ./_site
shell: pwsh
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_VICTORIOUS_SEA_0E7978F03 }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
action: "upload"
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/_site" # App source code path
api_location: "" # Api source code path - optional
output_location: "" # Built app content directory - optional
###### End of Repository/Build Configurations ######
deploy_job_Storage_Account:
if: (github.event_name == 'push' && github.repository == 'SkylineCommunications/dataminer-docs')
runs-on: ubuntu-latest
needs: build_job
name: Deploy Job to Storage account
steps:
- uses: actions/download-artifact@v4
with:
name: release
path: .
- name: Unzip artifact for deployment
run: Expand-Archive -Path _site.zip -DestinationPath ./_site
shell: pwsh
- name: Delete files that should not be indexed by Azure Search Service
run: |
rm -f ./_site/404.html
rm -f ./_site/README.html
find ./_site -name 'toc.html' -type f -delete
- name: Upload the new files
uses: bacongobbler/azure-blob-storage-upload@main
with:
source_dir: _site
container_name: docs
connection_string: ${{ secrets.AZURE_STORAGE_ACCOUNT_DOCS_CONNECTION_STRING }}
# Sync: true keeps the source and destination in sync,
# otherwise changed files and new would be pushed, but deleted wouldn't be removed.
sync: 'true'
reindex_azure_search:
runs-on: ubuntu-latest
needs: deploy_job_Storage_Account
name: Re-index azure search
steps:
- name: Azure Cognitive Search Reindex
# You may pin to the exact commit or the version.
# uses: andrewconnell/azure-search-index@ac64a40924771a415e01d52db4c1d557ecd3a99f
uses: andrewconnell/azure-search-index@2.0.3
with:
# Name of the Azure Cognitive Search resource.
azure-search-instance: docs-srch
# Search indexer to reindex
azure-search-indexer: azureblob-indexer2
# Admin key used to connect to Azure Cognitive Search instance
azure-search-admin-key: ${{ secrets.AZURE_SEARCH_KEY }}