forked from microsoft/PSRule.Monitor
-
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.
- Loading branch information
1 parent
6177b4c
commit c57ab07
Showing
28 changed files
with
1,165 additions
and
915 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,29 +12,52 @@ | |
name: Analyze | ||
on: | ||
push: | ||
branches: [ main, 'release/*' ] | ||
branches: [main, 'release/*'] | ||
pull_request: | ||
branches: [ main, 'release/*' ] | ||
branches: [main, 'release/*'] | ||
schedule: | ||
- cron: '51 20 * * 0' # At 08:51 PM, on Sunday each week | ||
- cron: '24 22 * * 0' # At 10:24 PM, on Sunday each week | ||
workflow_dispatch: | ||
|
||
env: | ||
DOTNET_NOLOGO: true | ||
DOTNET_CLI_TELEMETRY_OPTOUT: true | ||
|
||
permissions: {} | ||
|
||
jobs: | ||
oss: | ||
name: Analyze with PSRule | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
security-events: write | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Run PSRule analysis | ||
uses: microsoft/[email protected] | ||
with: | ||
modules: PSRule.Rules.MSFT.OSS | ||
prerelease: true | ||
outputFormat: Sarif | ||
outputPath: reports/ps-rule-results.sarif | ||
|
||
- name: Run PSRule analysis | ||
uses: microsoft/[email protected] | ||
with: | ||
modules: PSRule.Rules.MSFT.OSS | ||
prerelease: true | ||
- name: Upload results to security tab | ||
uses: github/codeql-action/upload-sarif@v3 | ||
if: always() | ||
with: | ||
sarif_file: reports/ps-rule-results.sarif | ||
|
||
- name: Upload results | ||
uses: actions/upload-artifact@v4 | ||
if: always() | ||
with: | ||
name: PSRule-Sarif | ||
path: reports/ps-rule-results.sarif | ||
retention-days: 1 | ||
if-no-files-found: error | ||
|
||
devskim: | ||
name: Analyze with DevSkim | ||
|
@@ -44,20 +67,29 @@ jobs: | |
contents: read | ||
security-events: write | ||
steps: | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
|
||
- name: Run DevSkim scanner | ||
uses: microsoft/DevSkim-Action@v1 | ||
with: | ||
directory-to-scan: src/ | ||
directory-to-scan: . | ||
|
||
- name: Upload results to security tab | ||
uses: github/codeql-action/upload-sarif@v2 | ||
uses: github/codeql-action/upload-sarif@v3 | ||
if: always() | ||
with: | ||
sarif_file: devskim-results.sarif | ||
|
||
- name: Upload results | ||
uses: actions/upload-artifact@v4 | ||
if: always() | ||
with: | ||
name: DevSkim-Sarif | ||
path: devskim-results.sarif | ||
retention-days: 1 | ||
if-no-files-found: error | ||
|
||
codeql: | ||
name: Analyze with CodeQL | ||
runs-on: ubuntu-latest | ||
|
@@ -66,17 +98,26 @@ jobs: | |
contents: read | ||
security-events: write | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
languages: 'csharp' | ||
|
||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v2 | ||
with: | ||
languages: 'csharp' | ||
- name: Autobuild | ||
uses: github/codeql-action/autobuild@v3 | ||
|
||
- name: Autobuild | ||
uses: github/codeql-action/autobuild@v2 | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
id: codeql-analyze | ||
|
||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v2 | ||
- name: Upload results | ||
uses: actions/upload-artifact@v4 | ||
if: always() | ||
with: | ||
name: CodeQL-Sarif | ||
path: ${{ steps.codeql-analyze.outputs.sarif-output }} | ||
retention-days: 1 | ||
if-no-files-found: error |
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@v4 | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v4 | ||
with: | ||
dotnet-version: 8.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@v4 | ||
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@v4 | ||
if: always() | ||
with: | ||
name: Results-PSRule | ||
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@v4 | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v4 | ||
with: | ||
dotnet-version: 8.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@v4 | ||
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# | ||
# Stale item management | ||
# | ||
|
||
# NOTES: | ||
# This workflow greets a person for their a first issue or PR. | ||
|
||
name: First interaction | ||
|
||
on: [pull_request_target, issues] | ||
|
||
permissions: {} | ||
|
||
jobs: | ||
greeting: | ||
name: Greeting | ||
runs-on: ubuntu-latest | ||
if: github.repository == 'microsoft/PSRule.Monitor' | ||
permissions: | ||
issues: write | ||
pull-requests: write | ||
steps: | ||
- uses: actions/first-interaction@v1 | ||
with: | ||
repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
issue-message: 'Thanks for raising your first issue, the team appreciates the time you have taken 😉' | ||
pr-message: 'Thank you for your contribution, one of the team will evaluate shortly.' |
Oops, something went wrong.