RN 41368 #21473
This file contains 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
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 }} |