⬆️ Bump AtlassianPS/AtlassianPS.Standards from 0.1.6 to 0.1.10 #77
Workflow file for this run
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
| name: CI | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| on: | |
| pull_request: | |
| branches: [master] | |
| paths-ignore: | |
| &paths-ignore # Documentation (NOT docs/** - that's PlatyPS source!) | |
| - "CHANGELOG.md" | |
| - "LICENSE" | |
| # AI assistant instruction files | |
| - "AGENTS.md" | |
| - "CLAUDE.md" | |
| - "GEMINI.md" | |
| - ".cursor/**" | |
| - ".github/copilot-instructions.md" | |
| - ".github/ai-context/**" | |
| - ".github/instructions/**" | |
| # GitHub/editor meta files | |
| - ".github/*.md" | |
| - ".github/ISSUE_TEMPLATE/**" | |
| - ".github/PULL_REQUEST_TEMPLATE/**" | |
| - ".vscode/**" | |
| - ".editorconfig" | |
| - ".spelling" | |
| # Untracked regenerated docs (kept in case they ever land) | |
| - "docs-regenerated/**" | |
| push: | |
| branches: [master] | |
| paths-ignore: *paths-ignore | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@198212f8a114e8382801678dc59295793a5de288 # v0.1.10 | |
| - run: Invoke-Build -Task Lint | |
| shell: pwsh | |
| build: | |
| name: Build Module | |
| needs: lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@198212f8a114e8382801678dc59295793a5de288 # v0.1.10 | |
| - run: Invoke-Build -Task Clean, Build | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Release | |
| path: ./Release/ | |
| test_windows_ps5: | |
| name: Test (Windows PS5) | |
| needs: build | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@198212f8a114e8382801678dc59295793a5de288 # v0.1.10 | |
| with: | |
| ps-version: "5" | |
| # Setup is run below in the powershell (PS 5.1) shell instead of pwsh, | |
| # so the Windows PowerShell module path is populated. | |
| skip-setup: "true" | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: Release | |
| path: ./Release/ | |
| - name: Setup | |
| shell: powershell | |
| run: | | |
| ./Tools/setup.ps1 | |
| Invoke-Build -Task ShowDebugInfo | |
| - run: Invoke-Build -Task Test | |
| shell: powershell | |
| - uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: Windows-PS5-Unit-Tests | |
| path: Test*.xml | |
| test_pwsh: | |
| name: Test (${{ matrix.name }}) | |
| needs: build | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - { os: windows-latest, name: "Windows PS7" } | |
| - { os: ubuntu-latest, name: "Ubuntu" } | |
| - { os: macos-latest, name: "macOS" } | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@198212f8a114e8382801678dc59295793a5de288 # v0.1.10 | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: Release | |
| path: ./Release/ | |
| - run: Invoke-Build -Task Test | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: ${{ matrix.name }}-Unit-Tests | |
| path: Test*.xml | |
| ci-required: | |
| name: CI Result | |
| if: always() | |
| needs: [lint, build, test_windows_ps5, test_pwsh] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Aggregate job results | |
| shell: bash | |
| run: | | |
| results='${{ toJSON(needs) }}' | |
| echo "Job results:" | |
| echo "$results" | |
| if echo "$results" | grep -E '"result":[[:space:]]*"(failure|cancelled)"' > /dev/null; then | |
| echo "::error::One or more required jobs failed or were cancelled." | |
| exit 1 | |
| fi | |
| echo "All required jobs passed or were skipped." |