Test-MtCisPasswordExpiry: Only Check domains with isVerified: true to avoid false positives #122
This file contains hidden or 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
| # Validates that the Docusaurus website builds successfully. | |
| # Runs on PRs that modify website files or docs source files, and can also be | |
| # called from other workflows or triggered manually. | |
| name: "\U0001F3D7️ Build Website" | |
| on: | |
| workflow_call: | |
| inputs: | |
| node_version: | |
| description: "Node.js version to use." | |
| required: false | |
| default: "24.x" | |
| type: string | |
| working_directory: | |
| description: "Path to the directory containing package.json (relative to the repository root)." | |
| required: false | |
| default: "website" | |
| type: string | |
| workflow_dispatch: | |
| pull_request: | |
| branches: ["main"] | |
| paths: | |
| - "build/Update-CommandReference.ps1" | |
| - "powershell/**" | |
| - "tests/**" | |
| - "website/**" | |
| - ".github/workflows/build-website.yaml" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| actions: read | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| detect-command-reference-changes: | |
| name: "Detect command reference changes" | |
| runs-on: ubuntu-latest | |
| outputs: | |
| generate: ${{ github.event_name != 'pull_request' || steps.filter.outputs.command_reference == 'true' }} | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Check command reference inputs | |
| if: github.event_name == 'pull_request' | |
| id: filter | |
| uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 | |
| with: | |
| filters: | | |
| command_reference: | |
| - "build/Update-CommandReference.ps1" | |
| - "powershell/**" | |
| - "tests/**" | |
| - ".github/workflows/build-website.yaml" | |
| generate-command-reference: | |
| name: "Generate command reference" | |
| needs: detect-command-reference-changes | |
| if: needs.detect-command-reference-changes.outputs.generate == 'true' | |
| runs-on: windows-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Generate command reference | |
| shell: pwsh | |
| run: ./build/Update-CommandReference.ps1 | |
| - name: Package generated command reference | |
| shell: pwsh | |
| run: | | |
| $ProgressPreference = "SilentlyContinue" | |
| $artifactRoot = Join-Path $env:GITHUB_WORKSPACE "generated-command-reference" | |
| $docsRoot = Join-Path $artifactRoot "docs" | |
| New-Item -ItemType Directory -Path $docsRoot -Force | Out-Null | |
| $sourceCommands = Join-Path $env:GITHUB_WORKSPACE "website/docs/commands" | |
| if (-not (Test-Path $sourceCommands)) { | |
| throw "Command reference docs were not generated at $sourceCommands." | |
| } | |
| Copy-Item -Path $sourceCommands -Destination $docsRoot -Recurse -Force | |
| $versionedDocsRoot = Join-Path $env:GITHUB_WORKSPACE "website/versioned_docs" | |
| if (Test-Path $versionedDocsRoot) { | |
| foreach ($versionFolder in Get-ChildItem $versionedDocsRoot -Directory) { | |
| $sourceVersionCommands = Join-Path $versionFolder.FullName "commands" | |
| if (Test-Path $sourceVersionCommands) { | |
| $targetVersionRoot = Join-Path $artifactRoot "versioned_docs/$($versionFolder.Name)" | |
| New-Item -ItemType Directory -Path $targetVersionRoot -Force | Out-Null | |
| Copy-Item -Path $sourceVersionCommands -Destination $targetVersionRoot -Recurse -Force | |
| } | |
| } | |
| } | |
| Compress-Archive -Path (Join-Path $artifactRoot "*") -DestinationPath command-reference-docs.zip -Force | |
| - name: Upload generated command reference | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: generated-command-reference | |
| path: command-reference-docs.zip | |
| if-no-files-found: error | |
| build: | |
| name: "Build Docusaurus website \U0001F3D7️" | |
| needs: [detect-command-reference-changes, generate-command-reference] | |
| if: always() && needs.detect-command-reference-changes.result == 'success' && (needs.generate-command-reference.result == 'success' || needs.generate-command-reference.result == 'skipped') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⬇️ Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Download generated command reference | |
| if: needs.detect-command-reference-changes.outputs.generate == 'true' | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: generated-command-reference | |
| path: ${{ runner.temp }}/command-reference | |
| - name: Apply generated command reference | |
| if: needs.detect-command-reference-changes.outputs.generate == 'true' | |
| shell: pwsh | |
| env: | |
| WEBSITE_WORKING_DIRECTORY: ${{ inputs.working_directory || 'website' }} | |
| run: | | |
| $ProgressPreference = "SilentlyContinue" | |
| Remove-Item -Path (Join-Path $env:WEBSITE_WORKING_DIRECTORY "docs/commands") -Recurse -Force -ErrorAction SilentlyContinue | |
| $versionedDocsRoot = Join-Path $env:WEBSITE_WORKING_DIRECTORY "versioned_docs" | |
| if (Test-Path $versionedDocsRoot) { | |
| foreach ($versionFolder in Get-ChildItem $versionedDocsRoot -Directory) { | |
| Remove-Item -Path (Join-Path $versionFolder.FullName "commands") -Recurse -Force -ErrorAction SilentlyContinue | |
| } | |
| } | |
| Expand-Archive -Path "${{ runner.temp }}/command-reference/command-reference-docs.zip" -DestinationPath $env:WEBSITE_WORKING_DIRECTORY -Force | |
| - name: ⚙️ Set up Node.js ${{ inputs.node_version || '24.x' }} | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: ${{ inputs.node_version || '24.x' }} | |
| cache: "npm" | |
| cache-dependency-path: ${{ inputs.working_directory || 'website' }}/package-lock.json | |
| - name: "\U0001F4E6 Install dependencies" | |
| working-directory: ${{ inputs.working_directory || 'website' }} | |
| run: npm ci | |
| - name: "\U0001F3D7️ Build website" | |
| working-directory: ${{ inputs.working_directory || 'website' }} | |
| run: npm run build |