Skip to content
Open
Show file tree
Hide file tree
Changes from 5 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
6 changes: 3 additions & 3 deletions .github/workflows/alpha-backup-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:

- name: Ensure alpha-backup exists
if: steps.kill_switch.outputs.enabled == 'true' && steps.check_changes.outputs.has_changes == 'true'
uses: actions/github-script@v8
uses: actions/github-script@v9
id: ensure_backup
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -92,7 +92,7 @@ jobs:
- name: Create PR from alpha to alpha-backup
if: steps.kill_switch.outputs.enabled == 'true' && steps.check_changes.outputs.has_changes == 'true'
id: create_pr
uses: actions/github-script@v8
uses: actions/github-script@v9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
Expand Down Expand Up @@ -138,7 +138,7 @@ jobs:

- name: Enable auto-merge on PR
if: steps.kill_switch.outputs.enabled == 'true' && steps.check_changes.outputs.has_changes == 'true'
uses: actions/github-script@v8
uses: actions/github-script@v9
env:
PR_NODE_ID: ${{ fromJson(steps.create_pr.outputs.result).pr_node_id }}
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-assign-pr-author.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Assign PR author
uses: actions/github-script@v8
uses: actions/github-script@v9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-label-issue-areas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Extract and apply area labels
uses: actions/github-script@v8
uses: actions/github-script@v9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-label-pr-backup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check if PR modifies alpha-backup-sync.yml
uses: actions/github-script@v8
uses: actions/github-script@v9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ jobs:
run: dotnet restore "Source/Krypton Components/Krypton Toolkit Suite 2022 - VS2022.slnx"

- name: Build
run: msbuild "Scripts/Build/nightly.proj" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/nightly.proj" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

release:
runs-on: windows-2025-vs2026
Expand Down Expand Up @@ -231,10 +231,10 @@ jobs:
run: dotnet restore "Source/Krypton Components/Krypton Toolkit Suite 2022 - VS2022.slnx"

- name: Build Release
run: msbuild "Scripts/Build/build.proj" /t:Build /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/build.proj" /t:Build /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Pack Release
run: msbuild "Scripts/Build/build.proj" /t:Pack /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/build.proj" /t:Pack /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Get Version
id: get_version
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/canary-lts-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ jobs:
shell: pwsh
run: |
$ErrorActionPreference = 'Stop'
$buildArgs = 'Scripts/Build/canary.proj /t:Build /p:Configuration=Canary /p:Platform="Any CPU"'
$buildArgs = 'Scripts/Build/canary.proj /t:Build /p:Configuration=Canary /p:Platform="Any CPU" /p:UseArtifactsOutput=true'

if (${{ steps.prepare_cert.outputs.cert_available }} -eq 'true') {
$buildArgs += ' /p:EnableAuthenticodeSigning=true'
Expand All @@ -182,7 +182,7 @@ jobs:

- name: Pack Canary
if: steps.canary_lts_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/canary.proj" /t:Pack /p:Configuration=Canary /p:Platform="Any CPU"
run: msbuild "Scripts/Build/canary.proj" /t:Pack /p:Configuration=Canary /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Push NuGet Packages to nuget.org
if: steps.canary_lts_kill_switch.outputs.enabled == 'true'
Expand Down
21 changes: 16 additions & 5 deletions .github/workflows/canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,15 +191,15 @@ jobs:

- name: Restore
if: steps.canary_release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/canary.proj" /t:Restore /p:Configuration=Canary /p:Platform="Any CPU"
run: msbuild "Scripts/Build/canary.proj" /t:Restore /p:Configuration=Canary /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Build Canary
if: steps.canary_release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/canary.proj" /t:Build /p:Configuration=Canary /p:Platform="Any CPU"
run: msbuild "Scripts/Build/canary.proj" /t:Build /p:Configuration=Canary /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Pack Canary
if: steps.canary_release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/canary.proj" /t:Pack /p:Configuration=Canary /p:Platform="Any CPU"
run: msbuild "Scripts/Build/canary.proj" /t:Pack /p:Configuration=Canary /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Push NuGet Packages to nuget.org
if: steps.canary_release_kill_switch.outputs.enabled == 'true'
Expand All @@ -213,7 +213,11 @@ jobs:
exit 0
}
$packages = Get-ChildItem "Bin/Packages/Canary/*.nupkg" -ErrorAction SilentlyContinue
$packageCandidates = @(
"artifacts/packages/Canary/*.nupkg",
"Bin/Packages/Canary/*.nupkg"
)
$packages = @(Get-ChildItem -Path $packageCandidates -ErrorAction SilentlyContinue | Sort-Object FullName -Unique)
$publishedAny = $false
if ($packages) {
Expand Down Expand Up @@ -249,7 +253,14 @@ jobs:
$version = $null
try {
$dllPath = Get-ChildItem "Bin/Canary/net48/Krypton.Toolkit.dll" -ErrorAction Stop
$dllCandidates = @(
"artifacts/bin/Canary/net48/Krypton.Toolkit.dll",
"Bin/Canary/net48/Krypton.Toolkit.dll"
)
$dllPath = Get-ChildItem -Path $dllCandidates -ErrorAction SilentlyContinue | Select-Object -First 1
if (-not $dllPath) {
throw "Krypton.Toolkit.dll not found in artifacts or Bin output paths."
}
$assemblyVersion = [System.Reflection.AssemblyName]::GetAssemblyName($dllPath.FullName).Version
$version = $assemblyVersion.ToString()
Write-Host "Got version from assembly: $version"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:

- name: Build solution
shell: pwsh
run: msbuild "Scripts/Build/nightly.proj" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/nightly.proj" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@v4
21 changes: 16 additions & 5 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,15 +233,15 @@ jobs:

- name: Restore
if: steps.nightly_release_kill_switch.outputs.enabled == 'true' && steps.check_changes.outputs.has_changes == 'true'
run: msbuild "Scripts/Build/nightly.proj" /t:Restore /p:Configuration=Nightly /p:Platform="Any CPU"
run: msbuild "Scripts/Build/nightly.proj" /t:Restore /p:Configuration=Nightly /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Build Nightly
if: steps.nightly_release_kill_switch.outputs.enabled == 'true' && steps.check_changes.outputs.has_changes == 'true'
run: msbuild "Scripts/Build/nightly.proj" /t:Build /p:Configuration=Nightly /p:Platform="Any CPU"
run: msbuild "Scripts/Build/nightly.proj" /t:Build /p:Configuration=Nightly /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Pack Nightly
if: steps.nightly_release_kill_switch.outputs.enabled == 'true' && steps.check_changes.outputs.has_changes == 'true'
run: msbuild "Scripts/Build/nightly.proj" /t:Pack /p:Configuration=Nightly /p:Platform="Any CPU"
run: msbuild "Scripts/Build/nightly.proj" /t:Pack /p:Configuration=Nightly /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Push NuGet Packages to nuget.org
if: steps.nightly_release_kill_switch.outputs.enabled == 'true' && steps.check_changes.outputs.has_changes == 'true'
Expand All @@ -255,7 +255,11 @@ jobs:
exit 0
}

$packages = Get-ChildItem "Bin/Packages/Nightly/*.nupkg" -ErrorAction SilentlyContinue
$packageCandidates = @(
"artifacts/packages/Nightly/*.nupkg",
"Bin/Packages/Nightly/*.nupkg"
)
$packages = @(Get-ChildItem -Path $packageCandidates -ErrorAction SilentlyContinue | Sort-Object FullName -Unique)
$publishedAny = $false

if ($packages) {
Expand Down Expand Up @@ -293,7 +297,14 @@ jobs:

# Try to get version from the built assembly (most reliable)
try {
$dllPath = Get-ChildItem "Bin/Nightly/net48/Krypton.Toolkit.dll" -ErrorAction Stop
$dllCandidates = @(
"artifacts/bin/Nightly/net48/Krypton.Toolkit.dll",
"Bin/Nightly/net48/Krypton.Toolkit.dll"
)
$dllPath = Get-ChildItem -Path $dllCandidates -ErrorAction SilentlyContinue | Select-Object -First 1
if (-not $dllPath) {
throw "Krypton.Toolkit.dll not found in artifacts or Bin output paths."
}
$assemblyVersion = [System.Reflection.AssemblyName]::GetAssemblyName($dllPath.FullName).Version
$version = $assemblyVersion.ToString()
Write-Host "Got version from assembly: $version"
Expand Down
61 changes: 47 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,12 +150,12 @@ jobs:
- name: Build Release
# Kill switch check
if: steps.release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/build.proj" /t:Build /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/build.proj" /t:Build /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Pack Release
# Kill switch check
if: steps.release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/build.proj" /t:Pack /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/build.proj" /t:Pack /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Push NuGet Packages to nuget.org
# Kill switch check
Expand All @@ -170,7 +170,11 @@ jobs:
exit 0
}

$packages = Get-ChildItem "Bin/Packages/Release/*.nupkg" -ErrorAction SilentlyContinue
$packageCandidates = @(
"artifacts/packages/Release/*.nupkg",
"Bin/Packages/Release/*.nupkg"
)
$packages = @(Get-ChildItem -Path $packageCandidates -ErrorAction SilentlyContinue | Sort-Object FullName -Unique)
$publishedAny = $false

if ($packages) {
Expand Down Expand Up @@ -209,7 +213,14 @@ jobs:

# Try to get version from the built assembly (most reliable)
try {
$dllPath = Get-ChildItem "Bin/Release/net48/Krypton.Toolkit.dll" -ErrorAction Stop
$dllCandidates = @(
"artifacts/bin/Release/net48/Krypton.Toolkit.dll",
"Bin/Release/net48/Krypton.Toolkit.dll"
)
$dllPath = Get-ChildItem -Path $dllCandidates -ErrorAction SilentlyContinue | Select-Object -First 1
if (-not $dllPath) {
throw "Krypton.Toolkit.dll not found in artifacts or Bin output paths."
}
$assemblyVersion = [System.Reflection.AssemblyName]::GetAssemblyName($dllPath.FullName).Version
$version = $assemblyVersion.ToString()
Write-Host "Got version from assembly: $version"
Expand Down Expand Up @@ -414,12 +425,12 @@ jobs:
- name: Build Release
# Kill switch check
if: steps.release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/build.proj" /t:Build /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/build.proj" /t:Build /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Pack Release
# Kill switch check
if: steps.release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/build.proj" /t:Pack /p:Configuration=Release /p:Platform="Any CPU"
run: msbuild "Scripts/Build/build.proj" /t:Pack /p:Configuration=Release /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Push NuGet Packages to nuget.org
# Kill switch check
Expand All @@ -434,7 +445,11 @@ jobs:
exit 0
}

$packages = Get-ChildItem "Bin/Packages/Release/*.nupkg" -ErrorAction SilentlyContinue
$packageCandidates = @(
"artifacts/packages/Release/*.nupkg",
"Bin/Packages/Release/*.nupkg"
)
$packages = @(Get-ChildItem -Path $packageCandidates -ErrorAction SilentlyContinue | Sort-Object FullName -Unique)
$publishedAny = $false

if ($packages) {
Expand Down Expand Up @@ -473,7 +488,14 @@ jobs:

# Try to get version from the built assembly (most reliable)
try {
$dllPath = Get-ChildItem "Bin/Release/net48/Krypton.Toolkit.dll" -ErrorAction Stop
$dllCandidates = @(
"artifacts/bin/Release/net48/Krypton.Toolkit.dll",
"Bin/Release/net48/Krypton.Toolkit.dll"
)
$dllPath = Get-ChildItem -Path $dllCandidates -ErrorAction SilentlyContinue | Select-Object -First 1
if (-not $dllPath) {
throw "Krypton.Toolkit.dll not found in artifacts or Bin output paths."
}
$assemblyVersion = [System.Reflection.AssemblyName]::GetAssemblyName($dllPath.FullName).Version
$version = $assemblyVersion.ToString()
Write-Host "Got version from assembly: $version"
Expand Down Expand Up @@ -690,12 +712,12 @@ jobs:
- name: Build Canary
# Kill switch check
if: steps.canary_release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/canary.proj" /t:Build /p:Configuration=Canary /p:Platform="Any CPU"
run: msbuild "Scripts/Build/canary.proj" /t:Build /p:Configuration=Canary /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Pack Canary
# Kill switch check
if: steps.canary_release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/canary.proj" /t:Pack /p:Configuration=Canary /p:Platform="Any CPU"
run: msbuild "Scripts/Build/canary.proj" /t:Pack /p:Configuration=Canary /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Push NuGet Packages to nuget.org
# Kill switch check
Expand All @@ -710,7 +732,11 @@ jobs:
exit 0
}

$packages = Get-ChildItem "Bin/Packages/Canary/*.nupkg" -ErrorAction SilentlyContinue
$packageCandidates = @(
"artifacts/packages/Canary/*.nupkg",
"Bin/Packages/Canary/*.nupkg"
)
$packages = @(Get-ChildItem -Path $packageCandidates -ErrorAction SilentlyContinue | Sort-Object FullName -Unique)
$publishedAny = $false

if ($packages) {
Expand Down Expand Up @@ -749,7 +775,14 @@ jobs:

# Try to get version from the built assembly (most reliable)
try {
$dllPath = Get-ChildItem "Bin/Canary/net48/Krypton.Toolkit.dll" -ErrorAction Stop
$dllCandidates = @(
"artifacts/bin/Canary/net48/Krypton.Toolkit.dll",
"Bin/Canary/net48/Krypton.Toolkit.dll"
)
$dllPath = Get-ChildItem -Path $dllCandidates -ErrorAction SilentlyContinue | Select-Object -First 1
if (-not $dllPath) {
throw "Krypton.Toolkit.dll not found in artifacts or Bin output paths."
}
$assemblyVersion = [System.Reflection.AssemblyName]::GetAssemblyName($dllPath.FullName).Version
$version = $assemblyVersion.ToString()
Write-Host "Got version from assembly: $version"
Expand Down Expand Up @@ -958,12 +991,12 @@ jobs:
- name: Build Alpha
# Kill switch check
if: steps.nightly_release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/nightly.proj" /t:Build /p:Configuration=Nightly /p:Platform="Any CPU"
run: msbuild "Scripts/Build/nightly.proj" /t:Build /p:Configuration=Nightly /p:Platform="Any CPU" /p:UseArtifactsOutput=true

- name: Pack Alpha
# Kill switch check
if: steps.nightly_release_kill_switch.outputs.enabled == 'true'
run: msbuild "Scripts/Build/nightly.proj" /t:Pack /p:Configuration=Nightly /p:Platform="Any CPU"
run: msbuild "Scripts/Build/nightly.proj" /t:Pack /p:Configuration=Nightly /p:Platform="Any CPU" /p:UseArtifactsOutput=true

# Note: NuGet publishing for alpha/nightly builds is handled by nightly.yml workflow
# which runs on a schedule and checks for changes in the last 24 hours
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
- `Source/Krypton Components`: Core libraries (`Krypton.Toolkit`, `Krypton.Ribbon`, `Krypton.Navigator`, `Krypton.Workspace`, `Krypton.Docking`) and the solution `Krypton Toolkit Suite 2022 - VS2022.sln`
- `Source/Krypton Components/TestForm`: WinForms sample app used to validate changes
- `Source/TestHarnesses`: Small repro/test harnesses (e.g., `ThemeSwapRepro`)
- `Scripts/`: Build and packaging scripts; `run.cmd` (root) launches an interactive menu; scripts live under `Scripts/VS2022/`, `Scripts/Current/`, `Scripts/Build/` (e.g., `build-stable.cmd`, `build-canary.cmd`, `build-nightly.cmd`, `build.proj`)
- `Scripts/`: Build and packaging scripts; `run.cmd` (root) launches an interactive menu; scripts live under `Scripts/VS2022/`, `Scripts/Current/`, `Scripts/Build/` (e.g., `build-stable.cmd`, `build-canary.cmd`, `build-nightly.cmd`, `build.proj`); optional Terminal.Gui build/pack UI in `Scripts/ModernBuild/` ([ModernBuild README](Scripts/ModernBuild/README.md))
- `Bin/`: Build outputs by configuration (e.g., `Bin/Debug`)
- `Documents/`, `Assets/`, `Logs/`: Docs, images, and build logs

Expand Down
13 changes: 13 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
<Project>
<PropertyGroup>
<UseArtifactsOutput Condition="'$(UseArtifactsOutput)' == ''">false</UseArtifactsOutput>
<KryptonLegacyBinRoot>$(MSBuildThisFileDirectory)Bin\</KryptonLegacyBinRoot>
<KryptonLegacyPackageRoot>$(KryptonLegacyBinRoot)Packages\</KryptonLegacyPackageRoot>
<KryptonArtifactsRoot>$(MSBuildThisFileDirectory)artifacts\</KryptonArtifactsRoot>

<KryptonBuildOutputRoot Condition="'$(UseArtifactsOutput)' == 'true'">$(KryptonArtifactsRoot)bin\</KryptonBuildOutputRoot>
<KryptonBuildOutputRoot Condition="'$(UseArtifactsOutput)' != 'true'">$(KryptonLegacyBinRoot)</KryptonBuildOutputRoot>

<KryptonPackageOutputRoot Condition="'$(UseArtifactsOutput)' == 'true'">$(KryptonArtifactsRoot)packages\</KryptonPackageOutputRoot>
<KryptonPackageOutputRoot Condition="'$(UseArtifactsOutput)' != 'true'">$(KryptonLegacyPackageRoot)</KryptonPackageOutputRoot>
</PropertyGroup>

<Choose>
<When Condition="'$(Configuration)' == 'Canary'">
<PropertyGroup>
Expand Down
Loading
Loading