Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0da1661
Update BC DevTools setup and package references for netstandard2.1 an…
Arthurvdv Sep 19, 2025
10cdad7
Remove GeneratePackageOnBuild property from project file
Arthurvdv Sep 19, 2025
8e4a1f0
Add deterministic build option to CI workflows
Arthurvdv Sep 19, 2025
9c1bf61
Add portable debug type to project file
Arthurvdv Sep 19, 2025
7708da0
Enable deterministic builds in project and CI workflows
Arthurvdv Sep 19, 2025
3ca55a3
Remove ContinuousIntegrationBuild property from build commands and en…
Arthurvdv Sep 19, 2025
31dd013
Set ContinuousIntegrationBuild property in build commands for PR vali…
Arthurvdv Sep 19, 2025
b689fe5
Set ContinuousIntegrationBuild property in pack commands for PR valid…
Arthurvdv Sep 19, 2025
249ef4a
Remove ContinuousIntegrationBuild property from project file
Arthurvdv Sep 19, 2025
5843e7e
Add repository branch and commit information to pack commands in work…
Arthurvdv Sep 19, 2025
8e3b35b
Add Deterministic build property and update versioning in PR validati…
Arthurvdv Sep 19, 2025
db96ef2
Remove Build steps from PR validation and release workflows
Arthurvdv Sep 19, 2025
9b99a16
Revert changes
Arthurvdv Sep 19, 2025
a6534c6
Fix missing TargetFrameworks property in project file
Arthurvdv Sep 19, 2025
bf47fbb
Add ContinuousIntegrationBuild property for GitHub Actions
Arthurvdv Sep 19, 2025
ba92f5e
Add Deterministic build property for GitHub Actions
Arthurvdv Sep 19, 2025
7207974
Add ContinuousIntegrationBuild property to pack steps in workflows
Arthurvdv Sep 19, 2025
95e1da8
Update dotnet-validate tool version to 0.0.1-preview.537 in workflows
Arthurvdv Sep 19, 2025
dade0bb
Add embedded debug type to project file
Arthurvdv Sep 19, 2025
94663ee
Add DotNet.ReproducibleBuilds package reference for reproducible builds
Arthurvdv Sep 19, 2025
5f46238
Change DebugType from embedded to portable in project file
Arthurvdv Sep 19, 2025
a9ec046
Remove DebugType and ContinuousIntegrationBuild properties from proje…
Arthurvdv Sep 19, 2025
c79ff82
Refactor GitHub workflows to streamline build and packaging steps; up…
Arthurvdv Sep 19, 2025
7dee615
Disable package manifest validation step in PR workflow
Arthurvdv Sep 19, 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
37 changes: 25 additions & 12 deletions .github/workflows/pr-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,32 +53,45 @@ jobs:
with:
useConfigFile: true

- name: Setup BC DevTools
id: setup-bc-devtools
- name: Setup BC DevTools (netstandard2.1)
uses: ./.github/actions/setup-bc-devtools
with:
version-number: '10.0.687650'
version-number: '12.0.875970'
target-path: 'Microsoft.Dynamics.BusinessCentral.Development.Tools/netstandard2.1'

- name: Setup BC DevTools (net8.0)
uses: ./.github/actions/setup-bc-devtools
with:
version-number: '16.0.1463980'
target-path: 'Microsoft.Dynamics.BusinessCentral.Development.Tools/net8.0'

- name: Restore
run: dotnet restore src/RoslynTestKit.sln

- name: Build (versioned)
- name: Pack
run: >
dotnet build src/RoslynTestKit.sln --no-restore --configuration Release
dotnet pack src/RoslynTestKit/RoslynTestKit.csproj
--configuration Release
--no-restore
/p:ContinuousIntegrationBuild=true
/p:Version=${{ steps.gitversion.outputs.nuGetVersionV2 }}
/p:PublishRepositoryUrl=true
/p:RepositoryType=git
/p:RepositoryUrl=${{ github.server_url }}/${{ github.repository }}
/p:RepositoryBranch=${{ github.ref }}
/p:RepositoryCommit=${{ steps.gitversion.outputs.sha }}
/p:EmbedUntrackedSources=true
/p:IncludeSymbols=true
/p:SymbolPackageFormat=snupkg
/p:PackageVersion=${{ steps.gitversion.outputs.nuGetVersionV2 }}
/p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }}
/p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }}

- name: Pack
run: >
dotnet pack src/RoslynTestKit/RoslynTestKit.csproj --no-build --configuration Release
/p:PackageVersion=${{ steps.gitversion.outputs.nuGetVersionV2 }}
/p:InformationalVersion=${{ steps.gitversion.outputs.informationalVersion }}
--output ./packages

- name: Validate package manifest
if: false
run: |
dotnet tool install --global dotnet-validate --version 0.0.1-preview.304
dotnet tool install --global dotnet-validate --version 0.0.1-preview.537
dotnet-validate package local ./packages/*.nupkg

- name: Upload package
Expand Down
40 changes: 24 additions & 16 deletions .github/workflows/release-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,36 +78,45 @@ jobs:
useConfigFile: true
overrideConfig: ${{ steps.gv.outputs.override }}

- name: Setup BC DevTools
id: setup-bc-devtools
- name: Setup BC DevTools (netstandard2.1)
uses: ./.github/actions/setup-bc-devtools
with:
version-number: '10.0.687650'
version-number: '12.0.875970'
target-path: 'Microsoft.Dynamics.BusinessCentral.Development.Tools/netstandard2.1'

- name: Setup BC DevTools (net8.0)
uses: ./.github/actions/setup-bc-devtools
with:
version-number: '16.0.1463980'
target-path: 'Microsoft.Dynamics.BusinessCentral.Development.Tools/net8.0'

- name: Restore
run: dotnet restore src/RoslynTestKit.sln

- name: Build
- name: Pack
run: >
dotnet build src/RoslynTestKit.sln --no-restore --configuration Release
dotnet pack src/RoslynTestKit/RoslynTestKit.csproj
--configuration Release
--no-restore
/p:ContinuousIntegrationBuild=true
/p:RepositoryBranch=${{ github.ref_name }}
/p:PublishRepositoryUrl=true
/p:RepositoryType=git
/p:RepositoryUrl=${{ github.server_url }}/${{ github.repository }}
/p:RepositoryBranch=${{ github.ref }}
/p:RepositoryCommit=${{ steps.gitversion.outputs.sha }}
/p:Version=${{ steps.gitversion.outputs.nuGetVersionV2 }}
/p:EmbedUntrackedSources=true
/p:IncludeSymbols=true
/p:SymbolPackageFormat=snupkg
/p:PackageVersion=${{ steps.gitversion.outputs.nuGetVersionV2 }}
/p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }}
/p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }}
/p:InformationalVersion=${{ steps.gitversion.outputs.informationalVersion }}

- name: Pack
run: >
dotnet pack src/RoslynTestKit/RoslynTestKit.csproj --no-build --configuration Release
/p:PackageVersion=${{ steps.gitversion.outputs.nuGetVersionV2 }}
/p:RepositoryCommit=${{ steps.gitversion.outputs.sha }}
--output ./packages

- name: Validate package manifest
if: false
run: |
dotnet tool install --global dotnet-validate --version 0.0.1-preview.304
dotnet tool install --global dotnet-validate --version 0.0.1-preview.537
dotnet-validate package local ./packages/*.nupkg

- name: Create GitHub Release
Expand Down Expand Up @@ -138,8 +147,7 @@ jobs:
if [ -z "$NUGET_API_KEY" ]; then
echo "NUGET_API_KEY not configured"; exit 1
fi
dotnet nuget push ./packages/*.nupkg \
dotnet nuget push ./packages/*.nupkg ./packages/*.snupkg \
--api-key "$NUGET_API_KEY" \
--source https://api.nuget.org/v3/index.json \
--skip-duplicate

44 changes: 27 additions & 17 deletions src/RoslynTestKit/RoslynTestKit.csproj
Original file line number Diff line number Diff line change
@@ -1,43 +1,53 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.1;net8.0</TargetFrameworks>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<Authors>Dustin Campbell, Ivan Yochev, Cezary Piątek, Christoph Stuber, Ansgar Barthel, Arthur van de Vondervoort</Authors>
<Title>RoslynTestKit</Title>
<Description>A lightweight framework for creating unit tests for Roslyn diagnostic analyzers, code fixes and refactorings.</Description>
<Authors>Dustin Campbell, Ivan Yochev, Cezary Piątek, Christoph Stuber, Ansgar Barthel, Arthur van de Vondervoort</Authors>
<Copyright>Copyright 2015-2025 by Dustin Campbell, Ivan Yochev, Cezary Piątek, Christoph Stuber, Ansgar Barthel, Arthur van de Vondervoort</Copyright>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageLicenseUrl>https://github.com/ALCops/RoslynTestKit/blob/master/License.txt</PackageLicenseUrl>
<PackageProjectUrl>https://github.com/ALCops/RoslynTestKit</PackageProjectUrl>
<RepositoryUrl>https://github.com/ALCops/RoslynTestKit</RepositoryUrl>
<PackageTags>Roslyn CodeAnalysis test testing tdd analyzer fixes refactor refactoring AL Business Central</PackageTags>
<NeutralLanguage>en</NeutralLanguage>
<Language>en-US</Language>
<PackageReleaseNotes></PackageReleaseNotes>
<PackageTags>Roslyn CodeAnalysis test testing tdd analyzer fixes refactor refactoring AL BusinessCentral</PackageTags>
<PackageId>ALCops.RoslynTestKit</PackageId>
<Product>RoslynTestKit</Product>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ApprovalTests" Version="5.0.0" />
<PackageReference Include="DiffPlex" Version="1.5.0" />
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="3.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
<!-- ms-dynamics-smb.al-10.0.687650 -->
</ItemGroup>

<!-- ms-dynamics-smb.al-12.0.875970 with FileVersion 12.0.13.24028 -->
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'">
<PackageReference Include="ApprovalTests" Version="5.4.4" />
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="3.1.0" />
<Reference Include="Microsoft.Dynamics.Nav.CodeAnalysis">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Microsoft.Dynamics.BusinessCentral.Development.Tools\Microsoft.Dynamics.Nav.CodeAnalysis.dll</HintPath>
<HintPath>..\..\Microsoft.Dynamics.BusinessCentral.Development.Tools\netstandard2.1\Microsoft.Dynamics.Nav.CodeAnalysis.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Microsoft.Dynamics.BusinessCentral.Development.Tools\Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces.dll</HintPath>
<HintPath>..\..\Microsoft.Dynamics.BusinessCentral.Development.Tools\netstandard2.1\Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>

<!-- ms-dynamics-smb.al-16.0.1463980 with FileVersion 16.0.22.22232 -->
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
<PackageReference Include="ApprovalTests" Version="5.8.0" />
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.8.0" />
<Reference Include="Microsoft.Dynamics.Nav.CodeAnalysis">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Microsoft.Dynamics.BusinessCentral.Development.Tools\net8.0\Microsoft.Dynamics.Nav.CodeAnalysis.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Microsoft.Dynamics.BusinessCentral.Development.Tools\net8.0\Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
</Project>
Loading