Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/benchmarks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
10.0.x
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-all-versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ jobs:

steps:
- name: Checkout repository (full history + all tags)
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0 # Full history so all tags are reachable
persist-credentials: false

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
5.0.x
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand Down Expand Up @@ -77,7 +77,7 @@ jobs:

- name: Initialize CodeQL
if: steps.check-csharp.outputs.has-csharp == 'true'
uses: github/codeql-action/init@v4
uses: github/codeql-action/init@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4
with:
languages: ${{ matrix.language }}
# security-extended adds the broader security query pack on top of the
Expand All @@ -86,7 +86,7 @@ jobs:

- name: Setup .NET
if: steps.check-csharp.outputs.has-csharp == 'true'
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: '10.0.x'

Expand Down Expand Up @@ -159,7 +159,7 @@ jobs:
- name: Perform CodeQL Analysis
id: perform-codeql-analysis
if: steps.check-csharp.outputs.has-csharp == 'true'
uses: github/codeql-action/analyze@v4
uses: github/codeql-action/analyze@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4
with:
category: "/language:${{matrix.language}}"

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docfx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0 # Full history needed to enumerate all v* tags
persist-credentials: false
Expand Down Expand Up @@ -127,7 +127,7 @@ jobs:
}

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
5.0.x
Expand Down
28 changes: 14 additions & 14 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
if: github.repository != 'Chris-Wolfgang/repo-template'
steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: refs/pull/${{ github.event.pull_request.number }}/head
persist-credentials: false
Expand Down Expand Up @@ -96,7 +96,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: refs/pull/${{ github.event.pull_request.number }}/head
persist-credentials: false
Expand Down Expand Up @@ -251,7 +251,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: refs/pull/${{ github.event.pull_request.number }}/head
persist-credentials: false
Expand Down Expand Up @@ -338,7 +338,7 @@ jobs:
sudo rm /etc/apt/sources.list.d/focal-security.list

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
3.1.x
Expand Down Expand Up @@ -626,15 +626,15 @@ jobs:

- name: Upload Linux coverage results
if: always()
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: coverage-linux
path: |
TestResults/
CoverageReport/

- name: Upload build artifacts
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: build-output
path: |
Expand All @@ -652,7 +652,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: refs/pull/${{ github.event.pull_request.number }}/head
persist-credentials: false
Expand Down Expand Up @@ -720,7 +720,7 @@ jobs:
Write-Host "✅ Configuration files secured - using versions from main branch"

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
3.1.x
Expand Down Expand Up @@ -958,7 +958,7 @@ jobs:

- name: Upload Windows coverage results
if: always()
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: coverage-windows
path: |
Expand All @@ -976,7 +976,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: refs/pull/${{ github.event.pull_request.number }}/head
persist-credentials: false
Expand Down Expand Up @@ -1048,7 +1048,7 @@ jobs:
echo "✅ Configuration files secured - using versions from main branch"

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
6.0.x
Expand Down Expand Up @@ -1313,7 +1313,7 @@ jobs:

- name: Upload macOS coverage results
if: always()
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: coverage-macos
path: |
Expand Down Expand Up @@ -1363,7 +1363,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: refs/pull/${{ github.event.pull_request.number }}/head
persist-credentials: false
Expand Down Expand Up @@ -1468,7 +1468,7 @@ jobs:

- name: Upload security scan results
if: always()
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: devskim-results
path: devskim-results.txt
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
if: github.repository != 'Chris-Wolfgang/repo-template'
steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
}

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
3.1.x
Expand Down Expand Up @@ -340,7 +340,7 @@ jobs:

- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: release-coverage
path: CoverageReport/
Expand All @@ -354,12 +354,12 @@ jobs:
has-packages: ${{ steps.check-packages.outputs.has-packages }}
steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
3.1.x
Expand Down Expand Up @@ -562,7 +562,7 @@ jobs:


- name: Upload NuGet packages
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: nuget-packages
path: ./nuget-packages/
Expand All @@ -581,7 +581,7 @@ jobs:
if: github.repository != 'Chris-Wolfgang/repo-template'
steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand All @@ -598,7 +598,7 @@ jobs:

- name: Setup .NET
if: steps.check.outputs.found == 'true'
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
# Install the same SDK set as validate-release so dotnet build can
# compile every TFM the solution targets (some test projects span
Expand Down Expand Up @@ -674,7 +674,7 @@ jobs:
runs-on: windows-latest
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
3.1.x
Expand All @@ -686,7 +686,7 @@ jobs:
10.0.x

- name: Download packages
uses: actions/download-artifact@v8.0.1
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: nuget-packages
path: ./packages
Expand Down Expand Up @@ -758,13 +758,13 @@ jobs:
contents: write # Required to upload assets to the GitHub Release
steps:
- name: Download NuGet packages artifact
uses: actions/download-artifact@v8.0.1
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: nuget-packages
path: ./nuget-packages

- name: Download coverage report artifact
uses: actions/download-artifact@v8.0.1
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: release-coverage
path: ./release-coverage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sourcelink-stepinto.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
timeout-minutes: 20
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand All @@ -63,7 +63,7 @@ jobs:

- name: Setup .NET
if: steps.detect.outputs.found == 'true'
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: '10.0.x'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sourcelink.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand All @@ -56,7 +56,7 @@ jobs:

- name: Setup .NET
if: steps.detect.outputs.found == 'true'
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: '10.0.x'

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/stryker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
timeout-minutes: 120
steps:
- name: Check out repo
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand All @@ -52,7 +52,7 @@ jobs:
# through .NET 10.0). Stryker has to be able to build whichever
# TFM each test project targets; pinning to a subset would
# silently fail repos that target older runtimes.
uses: actions/setup-dotnet@v6
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
3.1.x
Expand Down Expand Up @@ -123,7 +123,7 @@ jobs:

- name: Upload Stryker report
if: always()
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: stryker-report-${{ github.run_id }}
path: |
Expand Down
14 changes: 14 additions & 0 deletions .zizmor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# zizmor configuration (#143 follow-up).
#
# NOTE: zizmor does NOT auto-discover this file — it must be passed explicitly
# with `--config .zizmor.yml` on every invocation (see actions-audit.yaml).
#
# Every action in .github/workflows/** is pinned to a full commit SHA with a
# `# vX` version comment (fleet SHA-pin convention). Enforce that: require a
# hash pin for all actions, so a future tag-pin (`@v7`) or unpinned ref is
# flagged by the `unpinned-uses` rule.
rules:
unpinned-uses:
config:
policies:
"*": hash-pin