Skip to content

Merge pull request #459 from bhole1/main #2075

Merge pull request #459 from bhole1/main

Merge pull request #459 from bhole1/main #2075

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:
- name: checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Install DocFX
run: dotnet tool update -g docfx
env:
CI: true
- name: build Documentation
id: build-documentation
run: |
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-connectors')
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_HAPPY_DUNE_071CBEE03 }}
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-connectors')
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-connectors
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-indexer-docs-connectors
# Admin key used to connect to Azure Cognitive Search instance
azure-search-admin-key: ${{ secrets.AZURE_SEARCH_KEY }}