diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml
index f929bfb712..7ae50cedb5 100644
--- a/.github/workflows/package.yml
+++ b/.github/workflows/package.yml
@@ -31,17 +31,19 @@ jobs:
steps:
- name: Setup .NET
- uses: actions/setup-dotnet@v4
+ uses: actions/setup-dotnet@v5
with:
dotnet-version: |
- 6.0.*
8.0.*
+ 10.0.*
- name: Git checkout
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
+ with:
+ persist-credentials: false
- name: Restore packages
- run: dotnet restore ${{ env.SOLUTION_FILE }} --verbosity minimal
+ run: dotnet restore ${{ env.SOLUTION_FILE }} /p:Configuration=Release /p:NuGetAudit=false --verbosity minimal
- name: Calculate package version (for release)
if: ${{ github.event_name == 'release' }}
@@ -108,7 +110,7 @@ jobs:
run: dotnet pack ${{ env.SOLUTION_FILE }} --no-build --configuration Release --output ${{ github.workspace }}/packages /p:VersionSuffix=${{ env.PACKAGE_VERSION_SUFFIX }}
- name: Upload unsigned packages
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
if-no-files-found: error
name: unsigned-packages
@@ -126,13 +128,13 @@ jobs:
steps:
- name: Download unsigned packages
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: unsigned-packages
path: packages
- name: Setup .NET
- uses: actions/setup-dotnet@v4
+ uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.*
@@ -140,7 +142,7 @@ jobs:
run: dotnet tool install --global sign --prerelease
- name: Azure login
- uses: azure/login@v2
+ uses: azure/login@v3
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
@@ -159,7 +161,7 @@ jobs:
--description-url 'https://steeltoe.io/'
- name: Upload signed packages
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
if-no-files-found: error
name: signed-packages
@@ -179,22 +181,22 @@ jobs:
steps:
- name: Azure login
- uses: azure/login@v2
+ uses: azure/login@v3
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Download signed packages
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: signed-packages
path: packages
- name: Setup .NET
- uses: actions/setup-dotnet@v4
+ uses: actions/setup-dotnet@v5
with:
- dotnet-version: 8.0.x
+ dotnet-version: 8.0.*
source-url: ${{ vars.AZURE_ARTIFACTS_FEED_URL }}
env:
NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -223,12 +225,12 @@ jobs:
steps:
- name: Setup .NET
- uses: actions/setup-dotnet@v4
+ uses: actions/setup-dotnet@v5
with:
- dotnet-version: 8.0.x
+ dotnet-version: 8.0.*
- name: Download signed packages
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: signed-packages
path: packages
@@ -248,7 +250,9 @@ jobs:
steps:
- name: Git checkout
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
+ with:
+ persist-credentials: true
- name: Calculate next package version
shell: pwsh
diff --git a/.github/workflows/scan-vulnerable-dependencies.yml b/.github/workflows/scan-vulnerable-dependencies.yml
index 1e023af0fb..e2beadeebd 100644
--- a/.github/workflows/scan-vulnerable-dependencies.yml
+++ b/.github/workflows/scan-vulnerable-dependencies.yml
@@ -27,14 +27,31 @@ jobs:
steps:
- name: Setup .NET
- uses: actions/setup-dotnet@v4
+ uses: actions/setup-dotnet@v5
with:
dotnet-version: |
- 6.0.*
8.0.*
+ 10.0.*
- name: Git checkout
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
+ with:
+ persist-credentials: false
- name: Report vulnerable dependencies
- run: dotnet restore ${{ env.SOLUTION_FILE }} --verbosity minimal /p:NuGetAudit=true /p:NuGetAuditMode=all /p:NuGetAuditLevel=low /p:TreatWarningsAsErrors=True
+ shell: pwsh
+ run: |
+ $ErrorActionPreference = 'Stop'
+ $PSNativeCommandUseErrorActionPreference = $true
+
+ $output = dotnet list ${{ env.SOLUTION_FILE }} package --vulnerable --include-transitive --format json --output-version 1 2>&1
+ $text = ($output | Out-String).TrimEnd()
+ $json = $text | ConvertFrom-Json
+
+ foreach ($project in $json.projects) {
+ if ($project.frameworks) {
+ Write-Host 'Vulnerable package references were found.'
+ dotnet list ${{ env.SOLUTION_FILE }} package --vulnerable --include-transitive
+ exit 1
+ }
+ }
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 0000000000..0adeb95638
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,5 @@
+
+
+ true
+
+
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index de735fa805..a0b1eb5d93 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -33,14 +33,14 @@ jobs:
pool:
vmImage: $(imageName)
steps:
- - task: UseDotNet@2
- displayName: Install .NET 6
- inputs:
- version: 6.0.x
- task: UseDotNet@2
displayName: Install .NET 8
inputs:
version: 8.0.x
+ - task: UseDotNet@2
+ displayName: Install .NET 10
+ inputs:
+ version: 10.0.x
- pwsh: |
# https://github.com/dotnet/core/issues/4749#issuecomment-2329706172
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.24_amd64.deb
@@ -87,13 +87,6 @@ jobs:
projects: '**/*.csproj'
arguments: '--blame-hang-timeout 3m -f net8.0 --no-build -c $(buildConfiguration) -maxcpucount:1 $(skipFilter) --collect "XPlat Code Coverage" --settings coverlet.runsettings --logger trx --results-directory $(Build.SourcesDirectory)'
publishTestResults: false
- - task: DotNetCoreCLI@2
- displayName: dotnet test 6.0
- inputs:
- command: test
- projects: '**/*.csproj'
- arguments: '--blame-hang-timeout 3m -f net6.0 --no-build -c $(buildConfiguration) -maxcpucount:1 $(skipFilter) --collect "XPlat Code Coverage" --settings coverlet.runsettings --logger trx --results-directory $(Build.SourcesDirectory)'
- publishTestResults: false
- task: CopyFiles@2
condition: failed()
inputs:
diff --git a/build/templates/component-build.yaml b/build/templates/component-build.yaml
index 488ea5d415..3aab77f97e 100644
--- a/build/templates/component-build.yaml
+++ b/build/templates/component-build.yaml
@@ -16,14 +16,14 @@ jobs:
pool:
vmImage: ${{parameters.OS}}-latest
steps:
- - task: UseDotNet@2
- displayName: Install .NET 6
- inputs:
- version: 6.0.x
- task: UseDotNet@2
displayName: Install .NET 8
inputs:
version: 8.0.x
+ - task: UseDotNet@2
+ displayName: Install .NET 10
+ inputs:
+ version: 10.0.x
- task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
@@ -52,13 +52,6 @@ jobs:
projects: $(SolutionFile)
arguments: -f net8.0 ${{parameters.skipFilter}} $(CommonTestArgs)
publishTestResults: false
- - task: DotNetCoreCLI@2
- displayName: dotnet test 6.0
- inputs:
- command: test
- projects: $(SolutionFile)
- arguments: -f net6.0 ${{parameters.skipFilter}} $(CommonTestArgs)
- publishTestResults: false
- task: CopyFiles@2
condition: failed()
inputs:
diff --git a/sharedproject.props b/sharedproject.props
index c649dd6827..e88aada1bd 100644
--- a/sharedproject.props
+++ b/sharedproject.props
@@ -57,9 +57,4 @@
-
-
-
-
-
diff --git a/sharedtest.props b/sharedtest.props
index b2b473f1e5..4204528eec 100644
--- a/sharedtest.props
+++ b/sharedtest.props
@@ -37,9 +37,4 @@
runtime; build; native; contentfiles; analyzers
-
-
-
-
-
diff --git a/src/Bootstrap/src/Autoconfig/Steeltoe.Bootstrap.Autoconfig.csproj b/src/Bootstrap/src/Autoconfig/Steeltoe.Bootstrap.Autoconfig.csproj
index 2941451c31..15bd583c0b 100644
--- a/src/Bootstrap/src/Autoconfig/Steeltoe.Bootstrap.Autoconfig.csproj
+++ b/src/Bootstrap/src/Autoconfig/Steeltoe.Bootstrap.Autoconfig.csproj
@@ -1,6 +1,6 @@
- net8.0;net6.0
+ net8.0
Steeltoe.Bootstrap.Autoconfig
Package for automatically configuring Steeltoe packages that have separately been added to a project.
Autoconfiguration;automatic configuration;application bootstrapping
diff --git a/src/Bootstrap/test/Autoconfig.Test/HostBuilderExtensionsTest.cs b/src/Bootstrap/test/Autoconfig.Test/HostBuilderExtensionsTest.cs
index d81af58743..b24daf8395 100644
--- a/src/Bootstrap/test/Autoconfig.Test/HostBuilderExtensionsTest.cs
+++ b/src/Bootstrap/test/Autoconfig.Test/HostBuilderExtensionsTest.cs
@@ -302,7 +302,7 @@ public void TracingBase_IsAutowired()
Assert.NotNull(host.Services.GetService());
// confirm instrumentation(s) were added as expected
- var instrumentations = tracerProvider.GetType().GetField("instrumentations", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(tracerProvider) as List