Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
da73426
Set up CI with Azure Pipelines
rstratkovinfrag Jun 5, 2025
ab50436
Add pipeline to build and sign
rstratkovinfrag Jun 5, 2025
14807cc
Change signing certificate password
rstratkovinfrag Jun 5, 2025
187b162
Change to versionSpec parameter
rstratkovinfrag Jun 5, 2025
3d134b3
Add versionSpec to gitversion task
rstratkovinfrag Jun 5, 2025
4e1eafc
Change git version to 5.x
rstratkovinfrag Jun 5, 2025
efc893a
Change to windows-latest
rstratkovinfrag Jun 5, 2025
0624a7f
Do not use shallow depth fetch in git
rstratkovinfrag Jun 5, 2025
19cf8e1
Edit .csproj file location
rstratkovinfrag Jun 5, 2025
3fde1b4
Change to snk signing
rstratkovinfrag Jun 5, 2025
2946ec0
Fix secure file path
rstratkovinfrag Jun 5, 2025
a72ab6f
Add pr related versioning
rstratkovinfrag Jun 10, 2025
c584107
Add pipeline run name
rstratkovinfrag Jun 10, 2025
3909ef1
Add signing of dlls
rstratkovinfrag Jun 10, 2025
d7f7918
Change order of operations
rstratkovinfrag Jun 10, 2025
df98c87
WIP list dll files location
rstratkovinfrag Jun 10, 2025
51ca1ec
WIP update debug step
rstratkovinfrag Jun 10, 2025
97e0f2e
Update output directory
rstratkovinfrag Jun 10, 2025
84d70a9
Use powershell for build
rstratkovinfrag Jun 10, 2025
6a867b0
Edit signtool logic
rstratkovinfrag Jun 11, 2025
a9affd2
Modify dotnet build step
rstratkovinfrag Jun 11, 2025
cc03d13
Comment out debug step
rstratkovinfrag Jun 11, 2025
81f2727
Use powershell to build
rstratkovinfrag Jun 11, 2025
fab3366
Add build step
rstratkovinfrag Jun 11, 2025
cbbfde7
Change pack task
rstratkovinfrag Jun 11, 2025
b7d727c
Fix debug dotnet build
rstratkovinfrag Jun 11, 2025
7bccd3f
Update output directory
rstratkovinfrag Jun 11, 2025
65e8b60
remove breaking tick
rstratkovinfrag Jun 11, 2025
95e4be3
Change name of build task
rstratkovinfrag Jun 12, 2025
6c8fdda
Publish signed DLLs as artifacts
rstratkovinfrag Jun 25, 2025
354804f
Fix signing logic
rstratkovinfrag Jun 25, 2025
ca834c1
WIP check if dlls are signed properly
rstratkovinfrag Jun 30, 2025
ce072e7
wip find signtool
rstratkovinfrag Jun 30, 2025
ab15a9b
wip verify every single dll is signed
rstratkovinfrag Jun 30, 2025
8e9c462
Remove verification step
rstratkovinfrag Jun 30, 2025
5212300
Edit nuget service connection
rstratkovinfrag Jun 30, 2025
00e4e7d
Sign the nuget package + some pipeline refactoring
turbobobbytraykov Jun 30, 2025
a97d9eb
Fix path to the signing certificate
turbobobbytraykov Jun 30, 2025
0465777
try referencing the password correctly
turbobobbytraykov Jun 30, 2025
8fd2863
Refactor project building
turbobobbytraykov Jun 30, 2025
56a42a5
Try to wildcard the name of the nupkg files
turbobobbytraykov Jun 30, 2025
d6b1847
Tweak the csproj file with versioning & NuGet authoting attributes
turbobobbytraykov Jun 30, 2025
158e423
Explicitly set the assembly version attributes at runtime
turbobobbytraykov Jun 30, 2025
8b98e03
tweak the dotnet build task
turbobobbytraykov Jun 30, 2025
5909a0f
Update azure-pipelines.yml for Azure Pipelines
turbobobbytraykov Jun 30, 2025
207d2c4
try to refactor the call to dotnet build again
turbobobbytraykov Jun 30, 2025
20e013c
Changes related to the nuget package authoring
turbobobbytraykov Jun 30, 2025
071e4df
Tweak nuget authoring & licensing attributes
turbobobbytraykov Jun 30, 2025
35aa9d5
fix build step
rstratkovinfrag Jun 30, 2025
efe8617
debug git version step
rstratkovinfrag Jun 30, 2025
76485a0
build targetting csproj
rstratkovinfrag Jun 30, 2025
c211452
Hard core sign tool location
rstratkovinfrag Jun 30, 2025
d54cc60
use dotnet task to build
rstratkovinfrag Jun 30, 2025
2f3f92b
Tweak nuget authoring & licensing attributes some more
turbobobbytraykov Jun 30, 2025
d51f6c1
Add doc url to .csproj
rstratkovinfrag Jul 1, 2025
ceaf720
Add tags to the metadata
rstratkovinfrag Jul 1, 2025
e5068e3
Remove Livense.txt from the build
rstratkovinfrag Jul 1, 2025
db60f0a
Remove license txt
rstratkovinfrag Jul 1, 2025
68476e6
Include package reference
rstratkovinfrag Jul 2, 2025
c19fd6a
Revert adding package reference
rstratkovinfrag Jul 2, 2025
704c0f0
wip check nuget version
rstratkovinfrag Jul 2, 2025
de71fbd
revert nuget version check
rstratkovinfrag Jul 2, 2025
2b8f287
dotnet pack include documentation file
rstratkovinfrag Jul 2, 2025
74ae945
revert include documentation file
rstratkovinfrag Jul 2, 2025
c588a42
Add explicit MIT license
turbobobbytraykov Jul 2, 2025
77f981d
Minor touch-ups
turbobobbytraykov Jul 2, 2025
40074af
Move pipeline to azure-pipelines location
rstratkovinfrag Jul 2, 2025
668648e
Delete old azure-pipelines.yml
rstratkovinfrag Jul 2, 2025
ec2474a
Edit package project url in csproj
rstratkovinfrag Jul 2, 2025
6ff461e
Add igniteui icon
rstratkovinfrag Jul 2, 2025
c8b43aa
Add icon to csproj
rstratkovinfrag Jul 2, 2025
97b6b0a
Use png instead of ico
rstratkovinfrag Jul 2, 2025
89f32e9
Delete IgniteUI.ico
rstratkovinfrag Jul 2, 2025
45a9b47
Add ingnite ui icon png
rstratkovinfrag Jul 2, 2025
13fbc92
Delete IgniteUI.png
rstratkovinfrag Jul 2, 2025
f3a116d
Add icon 128
rstratkovinfrag Jul 2, 2025
d911642
add package path parameter in csproj
rstratkovinfrag Jul 2, 2025
d4b05f9
Add extra space
rstratkovinfrag Jul 2, 2025
d7714dd
Add automated documentation generation
turbobobbytraykov Jul 2, 2025
dc4f01d
Merge branch 'rstratkov/azure-pipeline-nuget-upload' of https://githu…
turbobobbytraykov Jul 2, 2025
e024f25
Fix indentation
rstratkovinfrag Jul 2, 2025
c563bcc
Fix trigger and intentation
rstratkovinfrag Jul 2, 2025
bc26ed9
Update name
rstratkovinfrag Jul 2, 2025
0abe24c
Add publish step
rstratkovinfrag Jul 2, 2025
29eebc5
Delete License.txt
rstratkovinfrag Jul 2, 2025
27e8466
Delete IgniteUI.png
rstratkovinfrag Jul 3, 2025
d5a1670
Upload ignite ui icon
rstratkovinfrag Jul 3, 2025
4c6b5e4
Stop using git version
rstratkovinfrag Jul 3, 2025
4791261
Publish nuget package
rstratkovinfrag Jul 3, 2025
58b3a15
quotes around releaseTag
rstratkovinfrag Jul 3, 2025
72af1ed
Use cleaner SourceBranchName
rstratkovinfrag Jul 3, 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
Binary file added IgniteUI.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions Infragistics.QueryBuilder.Executor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,36 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PackageId>Infragistics.QueryBuilder.Executor</PackageId>
<Authors>Infragistics Inc.</Authors>
<Owners>Infragistics Inc.</Owners>
<Company>Infragistics Inc.</Company>
<Description>A .NET 9 library for dynamic, strongly-typed query building and execution over Entity Framework Core data sources. Supports advanced filtering, projection, and SQL generation.</Description>
<Version>1.0.0.0</Version>
<!-->We want to generate the version attributes at runtime and we need this flag enabled for that<-->
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Copyright>Infragistics</Copyright>
<PackageReadmeFile>ReadMe.md</PackageReadmeFile>
<PackageProjectUrl>https://github.com/IgniteUI/Infragistics.QueryBuilder.Executor</PackageProjectUrl>
<RepositoryUrl>https://github.com/IgniteUI/Infragistics.QueryBuilder.Executor</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageDocumentationUrl>https://github.com/IgniteUI/Infragistics.QueryBuilder.Executor</PackageDocumentationUrl>
<PackageTags>Infragistics;App Builder;Ignite UI;Filtering;Query;Query Builder;Models</PackageTags>
<PackageIcon>IgniteUI.png</PackageIcon>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AutoMapper" Version="14.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.4" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="8.1.1" />
<None Include="IgniteUI.png" Pack="true" PackagePath="" />
<None Include="ReadMe.md">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>

</Project>
124 changes: 124 additions & 0 deletions azure-pipelines/build-and-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
trigger:
tags:
include:
- '*'
# This pipeline is meant to build & deploy upon tagging. It's not meant to be a part of PR validation.
pr: none

name: $(Build.SourceBranchName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)

variables:
- group: Code_Signing_Certificate_2023_2026
- name: prId
value: $[coalesce(variables['System.PullRequest.PullRequestId'], '000')]
- name: prIteration
value: $[counter(variables['prId'], 1)]
- name: buildConfiguration
value: Release
- name: releaseTag
value: $(Build.SourceBranchName)

stages:
- stage: BuildAndPublish
condition: succeeded()
jobs:
- job: BuildAndSign
pool:
vmImage: 'windows-latest'

steps:
- checkout: self
fetchDepth: 0

- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '9.x'

- task: DownloadSecureFile@1
name: cert
inputs:
secureFile: 'code-signing-certificate-2023-2026.pfx'

- task: DotNetCoreCLI@2
displayName: 'Build Project'
inputs:
command: 'build'
projects: 'Infragistics.QueryBuilder.Executor.csproj'
arguments: >
-c $(buildConfiguration)
/p:Version=$(releaseTag)

- powershell: |
$outputDir = "$(Build.SourcesDirectory)\bin\$(buildConfiguration)\net9.0"
Write-Host "Listing contents of: $outputDir"
if (-Not (Test-Path $outputDir)) {
Write-Error "Output folder not found: $outputDir"
exit 1
}
Get-ChildItem $outputDir -Recurse | ForEach-Object {
Write-Host $_.FullName
}
displayName: 'Debug: List build output contents'

- powershell: |
$dllFolder = "$(Build.SourcesDirectory)\bin\$(buildConfiguration)\net9.0"
Write-Host "Signing DLLs in folder: $dllFolder"

$signtoolPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\signtool.exe"
Write-Host "Using signtool at: $signtoolPath"

$dllFiles = Get-ChildItem -Path $dllFolder -Filter *.dll -Recurse
foreach ($dll in $dllFiles) {
Write-Host "Signing $($dll.FullName)..."
& $signtoolPath sign /f $(cert.secureFilePath) /p $env:CERT_PASS /tr $(SigningCertificateTimestampUrl) /td sha256 /fd sha256 $dll.FullName

if ($LASTEXITCODE -ne 0) {
Write-Error "Signing failed for $($dll.FullName)"
exit 1
}
}
displayName: 'Sign all DLL files with PFX certificate'
env:
CERT_PASS: $(SigningCertificatePassword)

- powershell: |
$packageOutputDir = "$(Build.ArtifactStagingDirectory)\nuget"
$packageVersion = "$(releaseTag)"

Write-Host "Packing project from existing build output..."
dotnet pack ./Infragistics.QueryBuilder.Executor.csproj `
--no-build `
--configuration $(buildConfiguration) `
-p:PackageVersion=$packageVersion `
-o $packageOutputDir

if ($LASTEXITCODE -ne 0) {
Write-Error "dotnet pack failed"
exit 1
}
displayName: 'Pack NuGet Package using PowerShell'

- task: PowerShell@2
displayName: 'Sign NuGet package'
env:
CERT_PASS: $(SigningCertificatePassword)
inputs:
targetType: 'inline'
script: |
nuget.exe sign $(Build.ArtifactStagingDirectory)\nuget\*.nupkg -CertificatePath $(cert.secureFilePath) -CertificatePassword $env:CERT_PASS -Timestamper $(SigningCertificateTimestampUrl)

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/nuget'
ArtifactName: 'NuGetPackage'
publishLocation: 'Container'
displayName: 'Publish NuGet Package as Build Artifact'

- task: NuGetCommand@2
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/nuget/*.nupkg'
nuGetFeedType: 'external'
publishFeedCredentials: 'NuGet.Org'
displayName: 'Publish to NuGet.org'