forked from microsoft/PSRule
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updates to build pipeline (microsoft#1454)
- Loading branch information
1 parent
7b79880
commit da7aa30
Showing
15 changed files
with
245 additions
and
122 deletions.
There are no files selected for viewing
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# | ||
# Dependabot configuration | ||
# | ||
|
||
# Please see the documentation for all configuration options: | ||
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||
|
||
version: 2 | ||
updates: | ||
# Maintain dependencies for NuGet | ||
- package-ecosystem: 'nuget' # See documentation for possible values | ||
directory: '/' # Location of package manifests | ||
schedule: | ||
interval: 'daily' | ||
labels: | ||
- 'dependencies' | ||
reviewers: | ||
- 'microsoft/psrule' | ||
ignore: | ||
# Ignore upgrades to PS 7.1 for tool chain components at this time | ||
# Testing against PS 7.1 is already completed | ||
- dependency-name: 'Microsoft.PowerShell.SDK' | ||
|
||
# Maintain dependencies for GitHub Actions | ||
- package-ecosystem: 'github-actions' | ||
directory: '/' | ||
schedule: | ||
interval: 'daily' | ||
labels: | ||
- 'ci-quality' | ||
reviewers: | ||
- 'microsoft/psrule' | ||
|
||
# Maintain dependencies for Python | ||
- package-ecosystem: 'pip' | ||
directory: '/' | ||
schedule: | ||
interval: 'daily' | ||
labels: | ||
- 'ci-quality' | ||
reviewers: | ||
- 'azure/psrule' |
This file was deleted.
Oops, something went wrong.
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
# | ||
# CI Pipeline | ||
# | ||
|
||
# NOTES: | ||
# This workflow builds and tests module updates. | ||
|
||
name: Build | ||
on: | ||
push: | ||
branches: [main, 'release/*'] | ||
pull_request: | ||
branches: [main, 'release/*'] | ||
workflow_dispatch: | ||
|
||
env: | ||
DOTNET_NOLOGO: true | ||
DOTNET_CLI_TELEMETRY_OPTOUT: true | ||
|
||
permissions: {} | ||
|
||
jobs: | ||
build: | ||
name: Build | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: 7.x | ||
|
||
- name: Install dependencies | ||
shell: pwsh | ||
timeout-minutes: 3 | ||
run: ./scripts/pipeline-deps.ps1 | ||
|
||
- name: Build module | ||
shell: pwsh | ||
timeout-minutes: 5 | ||
run: Invoke-Build -Configuration Release -AssertStyle GitHubActions | ||
|
||
- name: Upload module | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: Module | ||
path: ./out/modules/PSRule/* | ||
retention-days: 3 | ||
if-no-files-found: error | ||
|
||
# - name: Upload Test Results | ||
# uses: actions/upload-artifact@v3 | ||
# if: always() | ||
# with: | ||
# name: Module.DotNet.TestResults | ||
# path: ./reports/*.trx | ||
# retention-days: 3 | ||
# if-no-files-found: error | ||
|
||
- name: Upload PSRule Results | ||
uses: actions/upload-artifact@v3 | ||
if: always() | ||
with: | ||
name: Module.PSRule.TestResults | ||
path: ./reports/ps-rule*.xml | ||
retention-days: 3 | ||
if-no-files-found: error | ||
|
||
test: | ||
name: Test (${{ matrix.rid }}-${{ matrix.shell }}) | ||
runs-on: ${{ matrix.os }} | ||
needs: build | ||
permissions: | ||
contents: read | ||
|
||
strategy: | ||
# Get full test results from all platforms. | ||
fail-fast: false | ||
|
||
matrix: | ||
os: ['ubuntu-latest'] | ||
rid: ['linux-x64'] | ||
shell: ['pwsh'] | ||
include: | ||
- os: windows-latest | ||
rid: win-x64 | ||
shell: pwsh | ||
- os: windows-latest | ||
rid: win-x64 | ||
shell: powershell | ||
- os: ubuntu-latest | ||
rid: linux-x64 | ||
shell: pwsh | ||
- os: ubuntu-latest | ||
rid: linux-musl-x64 | ||
shell: pwsh | ||
- os: macos-latest | ||
rid: osx-x64 | ||
shell: pwsh | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: 7.x | ||
|
||
- if: ${{ matrix.shell == 'pwsh' }} | ||
name: Install dependencies (PowerShell) | ||
shell: pwsh | ||
timeout-minutes: 3 | ||
run: ./scripts/pipeline-deps.ps1 | ||
|
||
- if: ${{ matrix.shell == 'powershell' }} | ||
name: Install dependencies (Windows PowerShell) | ||
shell: powershell | ||
timeout-minutes: 3 | ||
run: ./scripts/pipeline-deps.ps1 | ||
|
||
- name: Download module | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: Module | ||
path: ./out/modules/PSRule | ||
|
||
- if: ${{ matrix.shell == 'pwsh' }} | ||
name: Test module (PowerShell) | ||
shell: pwsh | ||
timeout-minutes: 15 | ||
run: Invoke-Build TestModule -Configuration Release -AssertStyle GitHubActions | ||
|
||
- if: ${{ matrix.shell == 'powershell' }} | ||
name: Test module (Windows PowerShell) | ||
shell: powershell | ||
timeout-minutes: 30 | ||
run: Invoke-Build TestModule -Configuration Release -AssertStyle GitHubActions |
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
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
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
Oops, something went wrong.