Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
cb69d51
Initial plan
Copilot Nov 6, 2025
d9048f6
Add .NET 10 target framework to all projects and update workflows
Copilot Nov 6, 2025
1239a2c
Add conditional .NET 10 support via Directory.Build.props
Copilot Nov 6, 2025
0fc15b1
Fix workflow files to work without .NET 10 SDK until released
Copilot Nov 6, 2025
3298503
Consolidate duplicate Microsoft.Build package references
Copilot Nov 6, 2025
0ac52fc
Revert test projects to single framework targeting per maintainer fee…
Copilot Nov 6, 2025
ae48825
Make .NET 10 integration unconditional and add to CI pipelines
Copilot Nov 6, 2025
b43243a
Optimize CI workflows to restore and build only necessary target fram…
Copilot Nov 6, 2025
af901e6
Fix restore to use solution with target framework instead of specific…
Copilot Nov 6, 2025
8d73678
Add target framework specification to all restore commands
Copilot Nov 6, 2025
65e9e35
attempt to fix restore
sensslen Nov 6, 2025
2d8dbbf
leave restore as it is now without special framework
sensslen Nov 6, 2025
db91650
fix ci
sensslen Nov 6, 2025
5f3574d
fix formatting issues
sensslen Nov 6, 2025
f8b3913
Update action.yml
sensslen Nov 6, 2025
e43aa9d
Merge branch 'main' into copilot/prepare-project-for-dotnet-10
sensslen Nov 6, 2025
4b2de85
Update action.yml
sensslen Nov 6, 2025
89ecd92
Fix CI failure by removing .NET 10 SDK from net9.0-only test jobs
Copilot Nov 6, 2025
80ccd51
Update MsBuildAbstraction.cs
sensslen Nov 6, 2025
b91c77d
Remove TargetFramework parameter from restore commands in net9.0-only…
Copilot Nov 6, 2025
387286d
Add .NET 10 to CI workflows using original working approach
Copilot Nov 6, 2025
d51aba9
Update action.yml
sensslen Nov 6, 2025
f762a38
Update action.yml
sensslen Nov 6, 2025
99ca67b
Update action.yml
sensslen Nov 6, 2025
89b3cc3
Update action.yml
sensslen Nov 6, 2025
22cd87f
Fix code formatting - simplify null check in ParseInstruction.cs
Copilot Nov 6, 2025
e49a129
Update MsBuildAbstraction.cs
sensslen Nov 6, 2025
c1cdcdd
Merge branch 'copilot/prepare-project-for-dotnet-10' of https://githu…
sensslen Nov 6, 2025
2c2ecdb
Revert to traditional null check for multi-framework compatibility
Copilot Nov 6, 2025
bbe3ab7
Update ParseInstruction.cs
sensslen Nov 6, 2025
651d31e
fix some tests
sensslen Nov 6, 2025
04fdb0b
fix code
sensslen Nov 6, 2025
515eaa9
fix
sensslen Nov 6, 2025
e421253
attempt to fix tests
sensslen Nov 6, 2025
f34ace4
fix again
sensslen Nov 6, 2025
5dab85a
fix issues with nuget and use msbuild to restore instead
sensslen Nov 7, 2025
4915698
attemt to unblock more tests
sensslen Nov 7, 2025
aed43d0
attempt to unblock more tests
sensslen Nov 7, 2025
3a02c38
more fixes
sensslen Nov 7, 2025
49ca231
attempt to fix again
sensslen Nov 7, 2025
1197b38
fix
sensslen Nov 7, 2025
729d4b1
update
sensslen Nov 7, 2025
da53b74
update packages and make sure to enable MTP
sensslen Nov 7, 2025
937da10
cleanup project dependencies
sensslen Nov 7, 2025
cdd05bb
fix format
sensslen Nov 7, 2025
a9311a8
don't build and print verbose messages
sensslen Nov 7, 2025
54287be
enable tests for NuGetLicense in windows pipeline
sensslen Nov 7, 2025
f1a47b3
minor improvements
sensslen Nov 7, 2025
6769fb5
try matching multiple test files
sensslen Nov 7, 2025
4539bcc
attempt to use dotnet test
sensslen Nov 7, 2025
3630d0a
fix
sensslen Nov 7, 2025
21fbaa1
split up actions
sensslen Nov 7, 2025
f87c531
fix TestWindows configuration
sensslen Nov 7, 2025
8fdc2bc
try this fix
sensslen Nov 7, 2025
ef0a166
run windows tests in one go
sensslen Nov 7, 2025
c7ba54c
improve build pipelines a slight bit
sensslen Nov 7, 2025
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
137 changes: 64 additions & 73 deletions .github/workflows/action.yml
Comment thread
sensslen marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest]

framework: [net8.0, net9.0]
framework: [net8.0, net9.0, net10.0]

include:
- framework: net8.0
Expand All @@ -24,105 +24,100 @@ jobs:
- framework: net9.0
dotnetVersion: "9.0.x"

- framework: net10.0
dotnetVersion: "10.0.x"

steps:
- uses: actions/checkout@v5

- name: Setup dotnet 8.0.x
- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x

- name: Setup dotnet 9.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x
dotnet-version: |
8.0.x
9.0.x
10.0.x

- name: restore
run: dotnet restore

- name: build
run: dotnet build --configuration Release --no-restore

- name: test
run: dotnet test ./tests/NuGetUtility.Test/NuGetUtility.Test.csproj --configuration Release -f ${{ matrix.framework }} --no-restore
- name: test (NuGetUtility.Test.dll)
run: dotnet test --project ./tests/NuGetUtility.Test/NuGetUtility.Test.csproj --configuration Release -f ${{ matrix.framework }} --no-restore --no-build

- name: test
run: dotnet test ./tests/NuGetLicense.Test/NuGetLicense.Test.csproj --configuration Release -f ${{ matrix.framework }} --no-restore
- name: test (NuGetLicense.Test.dll)
run: dotnet test --project ./tests/NuGetLicense.Test/NuGetLicense.Test.csproj --configuration Release -f ${{ matrix.framework }} --no-restore --no-build

test_file-license-matching:
test_file_license_matching:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- name: Setup dotnet 9.0.x

- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x
dotnet-version: |
9.0.x
10.0.x

- name: restore
run: dotnet restore

- name: test
run: dotnet test ./tests/SPDXLicenseMatcher.Test/SPDXLicenseMatcher.Test.csproj --configuration Release --no-restore
run: dotnet test --project ./tests/SPDXLicenseMatcher.Test/SPDXLicenseMatcher.Test.csproj --configuration Release --no-restore

test_url_to_license_mapping:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Setup dotnet 9.0.x

- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x
dotnet-version: |
9.0.x
10.0.x

- uses: browser-actions/setup-chrome@v2.1.0

- name: restore
run: dotnet restore

- name: test
run: dotnet test ./tests/NuGetUtility.Test.UrlToLicenseMapping/NuGetUtility.Test.UrlToLicenseMapping.csproj --configuration Release --no-restore
run: dotnet test --project ./tests/NuGetUtility.Test.UrlToLicenseMapping/NuGetUtility.Test.UrlToLicenseMapping.csproj --configuration Release --no-restore

test_windows:
runs-on: windows-latest
strategy:
matrix:
framework: [net8.0, net472, net9.0]

include:
- framework: net8.0
dotnetVersion: "8.0.x"

- framework: net9.0
dotnetVersion: "9.0.x"
framework: [net8.0, net472, net9.0, net10.0]
steps:
- uses: actions/checkout@v5

- name: Setup dotnet 8.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x

- name: Setup dotnet 9.0.x
- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x

- uses: nuget/setup-nuget@v2.0.1
- run: nuget restore NuGetUtility.sln
dotnet-version: |
8.0.x
9.0.x
10.0.x

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- name: build
run: msbuild -t:rebuild -property:Configuration=TestWindows
run: msbuild -t:rebuild -restore -p:RestorePackagesConfig=true -property:Configuration=TestWindows

- name: test (${{ matrix.framework }})
- name: test
uses: josepho0918/vstest-action@main
with:
testAssembly: "NuGetUtility.Test.dll"
searchFolder: "tests/NuGetUtility.Test/bin/TestWindows/${{ matrix.framework }}/"
testAssembly: "NuGet*.Test.dll"
searchFolder: "tests/*/bin/TestWindows/${{ matrix.framework }}/"
runInParallel: true

check_code_format:
Expand All @@ -131,10 +126,12 @@ jobs:
- name: Checkout repo
uses: actions/checkout@v5

- name: Setup dotnet 9.0.x
- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x
dotnet-version: |
9.0.x
10.0.x

- name: restore
run: dotnet restore
Expand All @@ -146,25 +143,21 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
framework: [net8.0, net9.0]
framework: [net8.0, net9.0, net10.0]
project: [App, Tests, ProjectWithReferenceContainingLicenseExpression, ProjectWithReferenceContainingFileLicense]

include:
- framework: net8.0
dotnetVersion: "8.0.x"

- framework: net9.0
dotnetVersion: "9.0.x"

steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup dotnet ${{ matrix.dotnetVersion }}
- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ matrix.dotnetVersion }}
dotnet-version: |
8.0.x
9.0.x
10.0.x

- name: restore
run: dotnet restore NuGetUtility.sln -p:TargetFramework=${{ matrix.framework }}
Expand Down Expand Up @@ -195,17 +188,18 @@ jobs:
with:
fetch-depth: 0

- name: Setup dotnet 9.0.x
- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x

- uses: nuget/setup-nuget@v2
- run: nuget restore NuGetUtility.sln
dotnet-version: |
9.0.x
10.0.x

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- run: msbuild -t:restore -p:RestorePackagesConfig=true NuGetUtility.sln

- name: fully qualify release path
id: release_path
shell: pwsh
Expand Down Expand Up @@ -234,24 +228,20 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
framework: [net8.0, net9.0]

include:
- framework: net8.0
dotnetVersion: "8.0.x"

- framework: net9.0
dotnetVersion: "9.0.x"
framework: [net8.0, net9.0, net10.0]

steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup dotnet ${{ matrix.dotnetVersion }}
- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ matrix.dotnetVersion }}
dotnet-version: |
8.0.x
9.0.x
10.0.x

- name: restore
run: dotnet restore NuGetUtility.sln -p:TargetFramework=${{ matrix.framework }}
Expand Down Expand Up @@ -281,17 +271,18 @@ jobs:
with:
fetch-depth: 0

- name: Setup dotnet 9.0.x
- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x

- uses: nuget/setup-nuget@v2
- run: nuget restore NuGetUtility.sln
dotnet-version: |
9.0.x
10.0.x

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- run: msbuild -t:restore -p:RestorePackagesConfig=true NuGetUtility.sln

- name: fully qualify release path
id: release_path
shell: pwsh
Expand Down
32 changes: 12 additions & 20 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,43 +10,33 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v5
- name: Setup dotnet 8.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
- name: Setup dotnet 9.0.x

- name: Setup dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: "9.0.x"
dotnet-version: |
8.0.x
9.0.x
10.0.x

- uses: nowsprinting/check-version-format-action@v3
id: version
with:
prefix: 'v'

- uses: nuget/setup-nuget@v2.0.1
- run: nuget restore NuGetUtility.sln

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- uses: browser-actions/setup-chrome@v2.1.0

- name: build
run: msbuild -t:rebuild -property:Configuration=Release

- name: test
uses: josepho0918/vstest-action@main
with:
testAssembly: "NuGetUtility.Test.dll"
searchFolder: "tests/NuGetUtility.Test/bin/Release/net8.0/"
runInParallel: true
run: msbuild -t:rebuild -restore -p:RestorePackagesConfig=true -property:Configuration=Release

- name: test
uses: josepho0918/vstest-action@main
with:
testAssembly: "NuGetUtility.Test.UrlToLicenseMapping.dll"
searchFolder: "tests/NuGetUtility.Test.UrlToLicenseMapping/bin/Release/net9.0/"
testAssembly: "*.Test.*dll"
searchFolder: "tests/*/bin/Release/net9.0/"
runInParallel: true

- name: fully qualify artifacts path
Expand All @@ -60,7 +50,9 @@ jobs:
- name: Publish the application binaries (.net8)
run: dotnet publish ./src/NuGetLicenseCore/NuGetLicenseCore.csproj -c Release --no-restore -o ${{ steps.artifacts_path.outputs.path }}/net8 -f net8.0 -p:Version=${{ steps.version.outputs.full_without_prefix }}
- name: Publish the application binaries (.net9)
run: dotnet publish ./src/NuGetLicenseCore/NuGetLicenseCore.csproj -c Release --no-restore -o ${{ steps.artifacts_path.outputs.path }}/net8 -f net9.0 -p:Version=${{ steps.version.outputs.full_without_prefix }}
run: dotnet publish ./src/NuGetLicenseCore/NuGetLicenseCore.csproj -c Release --no-restore -o ${{ steps.artifacts_path.outputs.path }}/net9 -f net9.0 -p:Version=${{ steps.version.outputs.full_without_prefix }}
- name: Publish the application binaries (.net10)
run: dotnet publish ./src/NuGetLicenseCore/NuGetLicenseCore.csproj -c Release --no-restore -o ${{ steps.artifacts_path.outputs.path }}/net10 -f net10.0 -p:Version=${{ steps.version.outputs.full_without_prefix }}
- name: Publish the application binaries (.net472)
run: msbuild ./src/NuGetLicenseFramework/NuGetLicenseFramework.csproj /t:Publish /p:configuration=Release /p:PublishDir=${{ steps.artifacts_path.outputs.path }}/net472 /p:Version=${{ steps.version.outputs.full_without_prefix }}
- name: Create nuget package
Expand Down
Loading
Loading