From d61a4f7f36348aeba7ae21f4ff71c75464ddb096 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 20:46:58 +0000 Subject: [PATCH 01/23] Initial plan From be6088825867534d65ab9468e02348b9a761282f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 20:52:20 +0000 Subject: [PATCH 02/23] Improve vendor CI/CD workflow with better messaging and auto-merge Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 110 +++++++++++++++++++++++++++++++---- scripts/update.ps1 | 43 ++++++++++++-- 2 files changed, 137 insertions(+), 16 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 717e543db..6e16ea362 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -31,9 +31,9 @@ jobs: - name: Summary - Workflow started shell: pwsh run: | - echo "## đŸ“Ļ Update Vendor - Workflow Summary" >> $env:GITHUB_STEP_SUMMARY + echo "## đŸ“Ļ Vendor Update - Workflow Summary" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - echo "Checking for vendor dependency updates..." >> $env:GITHUB_STEP_SUMMARY + echo "🔍 Checking for vendor dependency updates..." >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - id: make-changes @@ -46,13 +46,36 @@ jobs: Set-GHVariable -Name COUNT_UPDATED -Value $count $newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json) $listUpdated = "" - $updateMessage = "| Name | Old Version | New Version |`n| :--- | ---- | ---- |`n" + $updateMessage = "| Name | Old Version | New Version | Change Type |`n| :--- | :---: | :---: | :---: |`n" foreach ($s in $newVersion) { $oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version if ($s.version -ne $oldVersion) { $repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases" + + # Determine change type and emoji + $changeType = "unknown" + $emoji = "🔄" + try { + $oldVer = [System.Version]::Parse($oldVersion.Split('-')[0]) + $newVer = [System.Version]::Parse($s.version.Split('-')[0]) + + if ($newVer.Major -gt $oldVer.Major) { + $changeType = "major" + $emoji = "âš ī¸" + } elseif ($newVer.Minor -gt $oldVer.Minor) { + $changeType = "minor" + $emoji = "✨" + } else { + $changeType = "patch" + $emoji = "🐛" + } + } catch { + $changeType = "unknown" + $emoji = "🔄" + } + $listUpdated += "$($s.name) v$($s.version), " - $updateMessage += "| **[$($s.name)]($repoUrl)** | $oldVersion | **$($s.version)** |`n" + $updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | \`$($s.version)\` | $changeType |`n" } } if ($count -eq 0) { return } @@ -66,32 +89,89 @@ jobs: if ($count -eq 0) { echo "### ✅ No Updates Available" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - echo "All vendor dependencies are up to date." >> $env:GITHUB_STEP_SUMMARY + echo "All vendor dependencies are up to date! 🎉" >> $env:GITHUB_STEP_SUMMARY } else { $word = if ($count -eq 1) { 'dependency' } else { 'dependencies' } + $emoji = if ($count -eq 1) { 'đŸ“Ļ' } else { 'đŸ“ĻđŸ“Ļ' } echo "### 🔄 Updates Found" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - echo "**$count** vendor $word updated:" >> $env:GITHUB_STEP_SUMMARY + echo "$emoji **$count** vendor $word updated:" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY echo "$env:UPDATE_MESSAGE" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY + + # Check if we can auto-merge (only minor/patch changes) + $hasBreaking = $env:HAS_BREAKING_CHANGES -eq 'True' + if ($hasBreaking) { + echo "> âš ī¸ **Note:** This update contains major version changes that may include breaking changes." >> $env:GITHUB_STEP_SUMMARY + } else { + echo "> â„šī¸ **Note:** This update only contains minor or patch changes." >> $env:GITHUB_STEP_SUMMARY + } + } + + - name: Auto-merge minor updates + if: env.COUNT_UPDATED > 0 && env.HAS_BREAKING_CHANGES != 'True' + shell: pwsh + run: | + try { + echo "### 🚀 Auto-merging Updates" >> $env:GITHUB_STEP_SUMMARY + echo "" >> $env:GITHUB_STEP_SUMMARY + echo "Attempting to automatically merge non-breaking changes to master..." >> $env:GITHUB_STEP_SUMMARY + + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + # Commit the changes + git add vendor/sources.json + git commit -m "âŦ†ī¸ Update dependencies ($env:LIST_UPDATED)" + + # Push directly to master + git push origin HEAD:master + + echo "" >> $env:GITHUB_STEP_SUMMARY + echo "✅ **Success!** Updates have been automatically merged to master." >> $env:GITHUB_STEP_SUMMARY + echo "" >> $env:GITHUB_STEP_SUMMARY + echo "**Updated dependencies:** $env:LIST_UPDATED" >> $env:GITHUB_STEP_SUMMARY + + # Set a flag to skip PR creation + echo "AUTO_MERGED=true" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + } catch { + echo "" >> $env:GITHUB_STEP_SUMMARY + echo "âš ī¸ **Warning:** Unable to automatically merge updates." >> $env:GITHUB_STEP_SUMMARY + echo "" >> $env:GITHUB_STEP_SUMMARY + echo "**Error:** $($_.Exception.Message)" >> $env:GITHUB_STEP_SUMMARY + echo "" >> $env:GITHUB_STEP_SUMMARY + echo "Falling back to creating a pull request..." >> $env:GITHUB_STEP_SUMMARY + + Write-Warning "Failed to auto-merge: $($_.Exception.Message)" + + # Reset changes so PR creation can work + git reset --hard HEAD~1 + + # Set flag to create PR instead + echo "AUTO_MERGED=false" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 } - uses: peter-evans/create-pull-request@v7 - if: env.COUNT_UPDATED > 0 + if: env.COUNT_UPDATED > 0 && (env.HAS_BREAKING_CHANGES == 'True' || env.AUTO_MERGED == 'false') with: - title: 'Updates to `${{ env.COUNT_UPDATED }}` vendored dependencies' + title: ${{ env.COUNT_UPDATED == '1' && format('âŦ†ī¸ Update {0}', env.LIST_UPDATED) || format('âŦ†ī¸ Update {0} vendored dependencies', env.COUNT_UPDATED) }} body: | - ### Automatically updated `${{ env.COUNT_UPDATED }}` dependencies: + ### ${{ env.COUNT_UPDATED == '1' && 'đŸ“Ļ Automatically updated 1 dependency' || format('đŸ“Ļ Automatically updated {0} dependencies', env.COUNT_UPDATED) }} + ${{ env.UPDATE_MESSAGE }} + --- - Please verify and then **Merge** the pull request to update. + + ${{ env.HAS_BREAKING_CHANGES == 'True' && 'âš ī¸ **This update contains major version changes that may include breaking changes.**' || 'â„šī¸ This update only contains minor or patch changes.' }} + + Please verify and then **Merge** the pull request to apply the updates. commit-message: 'âŦ†ī¸ Update dependencies (${{ env.LIST_UPDATED }})' branch: update-vendor base: master - name: Summary - Pull request created - if: env.COUNT_UPDATED > 0 + if: env.COUNT_UPDATED > 0 && (env.HAS_BREAKING_CHANGES == 'True' || env.AUTO_MERGED == 'false') shell: pwsh run: | echo "### 🎉 Pull Request Created" >> $env:GITHUB_STEP_SUMMARY @@ -102,4 +182,10 @@ jobs: echo "" >> $env:GITHUB_STEP_SUMMARY echo "**Updated dependencies:** $env:LIST_UPDATED" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - echo "> Please review and merge the pull request to apply the updates." >> $env:GITHUB_STEP_SUMMARY + if ($env:HAS_BREAKING_CHANGES -eq 'True') { + echo "> âš ī¸ **Manual review required:** This update contains major version changes." >> $env:GITHUB_STEP_SUMMARY + } else { + echo "> â„šī¸ **Note:** Auto-merge failed, manual review required." >> $env:GITHUB_STEP_SUMMARY + } + echo "" >> $env:GITHUB_STEP_SUMMARY + echo "Please review and merge the pull request to apply the updates." >> $env:GITHUB_STEP_SUMMARY diff --git a/scripts/update.ps1 b/scripts/update.ps1 index c6b982d7c..fa108a986 100644 --- a/scripts/update.ps1 +++ b/scripts/update.ps1 @@ -259,6 +259,8 @@ function Fetch-DownloadUrl { } $count = 0 +$hasBreakingChanges = $false +$updateDetails = @() # Read the current sources content $sources = Get-Content $sourcesPath | Out-String | ConvertFrom-Json @@ -301,6 +303,35 @@ foreach ($s in $sources) { # } $count++ + + # Analyze version change type + $changeType = "unknown" + try { + # Try parsing as semantic version + $oldVer = [System.Version]::Parse($s.version.Split('-')[0]) + $newVer = [System.Version]::Parse($version.Split('-')[0]) + + if ($newVer.Major -gt $oldVer.Major) { + $changeType = "major" + $hasBreakingChanges = $true + } elseif ($newVer.Minor -gt $oldVer.Minor) { + $changeType = "minor" + } else { + $changeType = "patch" + } + } catch { + # If semantic versioning fails, treat as unknown (potentially breaking) + $changeType = "unknown" + $hasBreakingChanges = $true + Write-Verbose "Could not parse version as semantic version, treating as potentially breaking" + } + + $updateDetails += @{ + name = $s.name + oldVersion = $s.version + newVersion = $version + changeType = $changeType + } } $s.url = $downloadUrl @@ -314,12 +345,16 @@ if ($count -eq 0) { return } -if ($Env:APPVEYOR -eq 'True') { - Add-AppveyorMessage -Message "Successfully updated $count dependencies." -Category Information -} - +# Export update details for GitHub Actions if ($Env:GITHUB_ACTIONS -eq 'true') { + $updateDetailsJson = $updateDetails | ConvertTo-Json -Compress + Write-Output "UPDATE_DETAILS=$updateDetailsJson" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + Write-Output "HAS_BREAKING_CHANGES=$hasBreakingChanges" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 Write-Output "::notice title=Task Complete::Successfully updated $count dependencies." } +if ($Env:APPVEYOR -eq 'True') { + Add-AppveyorMessage -Message "Successfully updated $count dependencies." -Category Information +} + Write-Host -ForegroundColor green "Successfully updated $count dependencies." From 4d21982f26bd9b49726bd68e6f136c0b7260e30f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 20:53:19 +0000 Subject: [PATCH 03/23] Fix trailing spaces in vendor workflow YAML Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 6e16ea362..0f54f6f9f 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -51,14 +51,14 @@ jobs: $oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version if ($s.version -ne $oldVersion) { $repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases" - + # Determine change type and emoji $changeType = "unknown" $emoji = "🔄" try { $oldVer = [System.Version]::Parse($oldVersion.Split('-')[0]) $newVer = [System.Version]::Parse($s.version.Split('-')[0]) - + if ($newVer.Major -gt $oldVer.Major) { $changeType = "major" $emoji = "âš ī¸" @@ -73,7 +73,7 @@ jobs: $changeType = "unknown" $emoji = "🔄" } - + $listUpdated += "$($s.name) v$($s.version), " $updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | \`$($s.version)\` | $changeType |`n" } @@ -99,7 +99,7 @@ jobs: echo "" >> $env:GITHUB_STEP_SUMMARY echo "$env:UPDATE_MESSAGE" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - + # Check if we can auto-merge (only minor/patch changes) $hasBreaking = $env:HAS_BREAKING_CHANGES -eq 'True' if ($hasBreaking) { @@ -117,22 +117,22 @@ jobs: echo "### 🚀 Auto-merging Updates" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY echo "Attempting to automatically merge non-breaking changes to master..." >> $env:GITHUB_STEP_SUMMARY - + git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - + # Commit the changes git add vendor/sources.json git commit -m "âŦ†ī¸ Update dependencies ($env:LIST_UPDATED)" - + # Push directly to master git push origin HEAD:master - + echo "" >> $env:GITHUB_STEP_SUMMARY echo "✅ **Success!** Updates have been automatically merged to master." >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY echo "**Updated dependencies:** $env:LIST_UPDATED" >> $env:GITHUB_STEP_SUMMARY - + # Set a flag to skip PR creation echo "AUTO_MERGED=true" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 } catch { @@ -142,12 +142,12 @@ jobs: echo "**Error:** $($_.Exception.Message)" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY echo "Falling back to creating a pull request..." >> $env:GITHUB_STEP_SUMMARY - + Write-Warning "Failed to auto-merge: $($_.Exception.Message)" - + # Reset changes so PR creation can work git reset --hard HEAD~1 - + # Set flag to create PR instead echo "AUTO_MERGED=false" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 } @@ -158,13 +158,13 @@ jobs: title: ${{ env.COUNT_UPDATED == '1' && format('âŦ†ī¸ Update {0}', env.LIST_UPDATED) || format('âŦ†ī¸ Update {0} vendored dependencies', env.COUNT_UPDATED) }} body: | ### ${{ env.COUNT_UPDATED == '1' && 'đŸ“Ļ Automatically updated 1 dependency' || format('đŸ“Ļ Automatically updated {0} dependencies', env.COUNT_UPDATED) }} - + ${{ env.UPDATE_MESSAGE }} - + --- - + ${{ env.HAS_BREAKING_CHANGES == 'True' && 'âš ī¸ **This update contains major version changes that may include breaking changes.**' || 'â„šī¸ This update only contains minor or patch changes.' }} - + Please verify and then **Merge** the pull request to apply the updates. commit-message: 'âŦ†ī¸ Update dependencies (${{ env.LIST_UPDATED }})' branch: update-vendor From f2e8ae51894fa197cd39b45bc0b4fd4c4e606bc6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 20:56:30 +0000 Subject: [PATCH 04/23] Improve version parsing to handle complex version strings Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 38 ++++++++++++++++++++++++----------- scripts/update.ps1 | 39 ++++++++++++++++++++++++++---------- 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 0f54f6f9f..d1276bf55 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -56,18 +56,32 @@ jobs: $changeType = "unknown" $emoji = "🔄" try { - $oldVer = [System.Version]::Parse($oldVersion.Split('-')[0]) - $newVer = [System.Version]::Parse($s.version.Split('-')[0]) - - if ($newVer.Major -gt $oldVer.Major) { - $changeType = "major" - $emoji = "âš ī¸" - } elseif ($newVer.Minor -gt $oldVer.Minor) { - $changeType = "minor" - $emoji = "✨" - } else { - $changeType = "patch" - $emoji = "🐛" + # Handle versions with more than 4 parts + $oldVerStr = $oldVersion.Split('-')[0] + $newVerStr = $s.version.Split('-')[0] + + # Split by dots and take only numeric parts, first 4 max + $oldParts = $oldVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4 + $newParts = $newVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4 + + # Ensure we have at least 2 parts (major.minor) + if ($oldParts.Count -ge 2 -and $newParts.Count -ge 2) { + $oldVerParseable = $oldParts -join '.' + $newVerParseable = $newParts -join '.' + + $oldVer = [System.Version]::Parse($oldVerParseable) + $newVer = [System.Version]::Parse($newVerParseable) + + if ($newVer.Major -gt $oldVer.Major) { + $changeType = "major" + $emoji = "âš ī¸" + } elseif ($newVer.Minor -gt $oldVer.Minor) { + $changeType = "minor" + $emoji = "✨" + } else { + $changeType = "patch" + $emoji = "🐛" + } } } catch { $changeType = "unknown" diff --git a/scripts/update.ps1 b/scripts/update.ps1 index fa108a986..2d1b5d1bc 100644 --- a/scripts/update.ps1 +++ b/scripts/update.ps1 @@ -303,21 +303,38 @@ foreach ($s in $sources) { # } $count++ - + # Analyze version change type $changeType = "unknown" try { # Try parsing as semantic version - $oldVer = [System.Version]::Parse($s.version.Split('-')[0]) - $newVer = [System.Version]::Parse($version.Split('-')[0]) - - if ($newVer.Major -gt $oldVer.Major) { - $changeType = "major" - $hasBreakingChanges = $true - } elseif ($newVer.Minor -gt $oldVer.Minor) { - $changeType = "minor" + # Handle versions with more than 4 parts by taking only the first 3-4 parts + $oldVerStr = $s.version.Split('-')[0] + $newVerStr = $version.Split('-')[0] + + # Split by dots and take only numeric parts, first 4 max + $oldParts = $oldVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4 + $newParts = $newVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4 + + # Ensure we have at least 2 parts (major.minor) + if ($oldParts.Count -ge 2 -and $newParts.Count -ge 2) { + $oldVerParseable = $oldParts -join '.' + $newVerParseable = $newParts -join '.' + + $oldVer = [System.Version]::Parse($oldVerParseable) + $newVer = [System.Version]::Parse($newVerParseable) + + if ($newVer.Major -gt $oldVer.Major) { + $changeType = "major" + $hasBreakingChanges = $true + } elseif ($newVer.Minor -gt $oldVer.Minor) { + $changeType = "minor" + } else { + $changeType = "patch" + } } else { - $changeType = "patch" + # Not enough numeric parts for semantic versioning + throw "Not enough numeric version parts" } } catch { # If semantic versioning fails, treat as unknown (potentially breaking) @@ -325,7 +342,7 @@ foreach ($s in $sources) { $hasBreakingChanges = $true Write-Verbose "Could not parse version as semantic version, treating as potentially breaking" } - + $updateDetails += @{ name = $s.name oldVersion = $s.version From e64c0b110d23223479c7a4ad8cd31a44882f2d9f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 20:57:57 +0000 Subject: [PATCH 05/23] Fix git reset logic in auto-merge error handling Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index d1276bf55..55e47f6ee 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -137,7 +137,7 @@ jobs: # Commit the changes git add vendor/sources.json - git commit -m "âŦ†ī¸ Update dependencies ($env:LIST_UPDATED)" + $commitResult = git commit -m "âŦ†ī¸ Update dependencies ($env:LIST_UPDATED)" # Push directly to master git push origin HEAD:master @@ -159,8 +159,11 @@ jobs: Write-Warning "Failed to auto-merge: $($_.Exception.Message)" - # Reset changes so PR creation can work - git reset --hard HEAD~1 + # Reset only if a commit was made (check if HEAD moved) + $headBeforeReset = git rev-parse HEAD + if ($commitResult) { + git reset --hard HEAD~1 + } # Set flag to create PR instead echo "AUTO_MERGED=false" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 From bf90303c967e4b1bd8ac8380773983335bf36287 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 21:12:27 +0000 Subject: [PATCH 06/23] Remove Change Type column and add collapsible changelog for major updates Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 55e47f6ee..e900f172d 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -46,7 +46,8 @@ jobs: Set-GHVariable -Name COUNT_UPDATED -Value $count $newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json) $listUpdated = "" - $updateMessage = "| Name | Old Version | New Version | Change Type |`n| :--- | :---: | :---: | :---: |`n" + $updateMessage = "| Name | Old Version | New Version |`n| :--- | :---: | :---: |`n" + $majorUpdates = @() foreach ($s in $newVersion) { $oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version if ($s.version -ne $oldVersion) { @@ -55,6 +56,7 @@ jobs: # Determine change type and emoji $changeType = "unknown" $emoji = "🔄" + $isMajor = $false try { # Handle versions with more than 4 parts $oldVerStr = $oldVersion.Split('-')[0] @@ -75,6 +77,7 @@ jobs: if ($newVer.Major -gt $oldVer.Major) { $changeType = "major" $emoji = "âš ī¸" + $isMajor = $true } elseif ($newVer.Minor -gt $oldVer.Minor) { $changeType = "minor" $emoji = "✨" @@ -88,14 +91,41 @@ jobs: $emoji = "🔄" } + # Track major updates for changelog section + if ($isMajor) { + $compareUrl = "$repoUrl/compare/v$oldVersion...v$($s.version)" + $majorUpdates += @{ + name = $s.name + oldVersion = $oldVersion + newVersion = $s.version + compareUrl = $compareUrl + repoUrl = $repoUrl + } + } + $listUpdated += "$($s.name) v$($s.version), " - $updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | \`$($s.version)\` | $changeType |`n" + $updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | \`$($s.version)\` |`n" } } if ($count -eq 0) { return } Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ') echo "UPDATE_MESSAGE<< Date: Mon, 8 Dec 2025 21:22:53 +0000 Subject: [PATCH 07/23] Use single emoji and show dependency name/version for single updates Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index e900f172d..2fce8d84a 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -48,11 +48,21 @@ jobs: $listUpdated = "" $updateMessage = "| Name | Old Version | New Version |`n| :--- | :---: | :---: |`n" $majorUpdates = @() + $singleDepName = "" + $singleDepOldVersion = "" + $singleDepNewVersion = "" foreach ($s in $newVersion) { $oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version if ($s.version -ne $oldVersion) { $repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases" + # Store single dependency info for messages + if ($count -eq 1) { + $singleDepName = $s.name + $singleDepOldVersion = $oldVersion + $singleDepNewVersion = $s.version + } + # Determine change type and emoji $changeType = "unknown" $emoji = "🔄" @@ -109,6 +119,9 @@ jobs: } if ($count -eq 0) { return } Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ') + Set-GHVariable -Name SINGLE_DEP_NAME -Value $singleDepName + Set-GHVariable -Name SINGLE_DEP_OLD_VERSION -Value $singleDepOldVersion + Set-GHVariable -Name SINGLE_DEP_NEW_VERSION -Value $singleDepNewVersion echo "UPDATE_MESSAGE<<> $env:GITHUB_STEP_SUMMARY } else { $word = if ($count -eq 1) { 'dependency' } else { 'dependencies' } - $emoji = if ($count -eq 1) { 'đŸ“Ļ' } else { 'đŸ“ĻđŸ“Ļ' } echo "### 🔄 Updates Found" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - echo "$emoji **$count** vendor $word updated:" >> $env:GITHUB_STEP_SUMMARY + if ($count -eq 1) { + echo "đŸ“Ļ **$env:SINGLE_DEP_NAME** updated from \`$env:SINGLE_DEP_OLD_VERSION\` to \`$env:SINGLE_DEP_NEW_VERSION\`" >> $env:GITHUB_STEP_SUMMARY + } else { + echo "đŸ“Ļ **$count** vendor $word updated:" >> $env:GITHUB_STEP_SUMMARY + } echo "" >> $env:GITHUB_STEP_SUMMARY echo "$env:UPDATE_MESSAGE" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY @@ -204,7 +220,7 @@ jobs: with: title: ${{ env.COUNT_UPDATED == '1' && format('âŦ†ī¸ Update {0}', env.LIST_UPDATED) || format('âŦ†ī¸ Update {0} vendored dependencies', env.COUNT_UPDATED) }} body: | - ### ${{ env.COUNT_UPDATED == '1' && 'đŸ“Ļ Automatically updated 1 dependency' || format('đŸ“Ļ Automatically updated {0} dependencies', env.COUNT_UPDATED) }} + ### ${{ env.COUNT_UPDATED == '1' && format('đŸ“Ļ Updated {0} from `{1}` to `{2}`', env.SINGLE_DEP_NAME, env.SINGLE_DEP_OLD_VERSION, env.SINGLE_DEP_NEW_VERSION) || format('đŸ“Ļ Automatically updated {0} dependencies', env.COUNT_UPDATED) }} ${{ env.UPDATE_MESSAGE }} From 570b1d604353b02b091bb3a98854328dc01a6881 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 01:09:41 +0000 Subject: [PATCH 08/23] Fix single dependency variable initialization to prevent CI failures Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 317f9d260..bc9cb0e21 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -51,12 +51,15 @@ jobs: $singleDepName = "" $singleDepOldVersion = "" $singleDepNewVersion = "" + $updatedCount = 0 foreach ($s in $newVersion) { $oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version if ($s.version -ne $oldVersion) { $repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases" - # Store single dependency info for messages + $updatedCount++ + + # Store single dependency info for messages (only if this is the only update) if ($count -eq 1) { $singleDepName = $s.name $singleDepOldVersion = $oldVersion @@ -119,6 +122,12 @@ jobs: } if ($count -eq 0) { return } Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ') + # Ensure single dependency variables are set (use placeholder if empty) + if ([string]::IsNullOrEmpty($singleDepName)) { + $singleDepName = "dependency" + $singleDepOldVersion = "unknown" + $singleDepNewVersion = "unknown" + } Set-GHVariable -Name SINGLE_DEP_NAME -Value $singleDepName Set-GHVariable -Name SINGLE_DEP_OLD_VERSION -Value $singleDepOldVersion Set-GHVariable -Name SINGLE_DEP_NEW_VERSION -Value $singleDepNewVersion From 0f6584fa023e835e20e2b7cd0896522bc4180f7e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 01:11:46 +0000 Subject: [PATCH 09/23] Improve variable initialization logic with better error handling Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index bc9cb0e21..32a4c1bff 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -51,14 +51,11 @@ jobs: $singleDepName = "" $singleDepOldVersion = "" $singleDepNewVersion = "" - $updatedCount = 0 foreach ($s in $newVersion) { $oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version if ($s.version -ne $oldVersion) { $repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases" - $updatedCount++ - # Store single dependency info for messages (only if this is the only update) if ($count -eq 1) { $singleDepName = $s.name @@ -122,11 +119,19 @@ jobs: } if ($count -eq 0) { return } Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ') - # Ensure single dependency variables are set (use placeholder if empty) - if ([string]::IsNullOrEmpty($singleDepName)) { - $singleDepName = "dependency" + # Set single dependency variables (they will only be used if COUNT_UPDATED is 1) + # Use safe fallback values in case variables weren't set (shouldn't happen but prevents errors) + if ([string]::IsNullOrEmpty($singleDepName) -and $count -eq 1) { + # This shouldn't happen, but if it does, log a warning + Write-Warning "Single dependency name not set despite count being 1" + $singleDepName = "unknown-package" $singleDepOldVersion = "unknown" $singleDepNewVersion = "unknown" + } elseif ([string]::IsNullOrEmpty($singleDepName)) { + # For multiple dependencies, set placeholder values (won't be used) + $singleDepName = "" + $singleDepOldVersion = "" + $singleDepNewVersion = "" } Set-GHVariable -Name SINGLE_DEP_NAME -Value $singleDepName Set-GHVariable -Name SINGLE_DEP_OLD_VERSION -Value $singleDepOldVersion From cd2c4ec8776dcc13e2b1f5b084a7e7dd3b5828a3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 01:30:12 +0000 Subject: [PATCH 10/23] =?UTF-8?q?Update=20version=20change=20emojis:=20?= =?UTF-8?q?=F0=9F=94=A5=20major,=20=F0=9F=9A=80=20minor,=20=E2=AC=86?= =?UTF-8?q?=EF=B8=8F=20patch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 32a4c1bff..13800ab4b 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -86,14 +86,14 @@ jobs: if ($newVer.Major -gt $oldVer.Major) { $changeType = "major" - $emoji = "âš ī¸" + $emoji = "đŸ”Ĩ" $isMajor = $true } elseif ($newVer.Minor -gt $oldVer.Minor) { $changeType = "minor" - $emoji = "✨" + $emoji = "🚀" } else { $changeType = "patch" - $emoji = "🐛" + $emoji = "âŦ†ī¸" } } } catch { @@ -140,7 +140,7 @@ jobs: # Generate major updates changelog section if ($majorUpdates.Count -gt 0) { - $changelogSection = "`n
`nâš ī¸ Major version updates - View changelog`n`n" + $changelogSection = "`n
`nđŸ”Ĩ Major version updates - View changelog`n`n" foreach ($update in $majorUpdates) { $changelogSection += "### [$($update.name)]($($update.repoUrl))`n" $changelogSection += "**$($update.oldVersion)** → **$($update.newVersion)**`n`n" From 4911924259da07383562cf2e675354f347e5c066 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 01:43:35 +0000 Subject: [PATCH 11/23] Make new version bold in dependency update table Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 13800ab4b..50fee6c1b 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -114,7 +114,7 @@ jobs: } $listUpdated += "$($s.name) v$($s.version), " - $updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | \`$($s.version)\` |`n" + $updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | **\`$($s.version)\`** |`n" } } if ($count -eq 0) { return } From 2cc1125f627a732342536ef3df838571ea2b846e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 03:22:14 +0000 Subject: [PATCH 12/23] Fix CodeQL workflow PowerShell string termination error Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 16ebd4072..b7220ed87 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -106,4 +106,4 @@ jobs: echo "" >> $env:GITHUB_STEP_SUMMARY echo "**Language analyzed:** \`${{ matrix.language }}\`" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - echo "> Check the Security tab for detailed findings and recommendations." >> $env:GITHUB_STEP_SUMMARY + echo "> Check the Security tab for detailed findings and recommendations." | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append -Encoding utf8 From 9cfff38939aefbf290ab4263a60a4fa1f1fc230c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 03:33:57 +0000 Subject: [PATCH 13/23] Fix CodeQL PowerShell syntax by using Write-Output instead of echo Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index b7220ed87..f84ca2a28 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -106,4 +106,4 @@ jobs: echo "" >> $env:GITHUB_STEP_SUMMARY echo "**Language analyzed:** \`${{ matrix.language }}\`" >> $env:GITHUB_STEP_SUMMARY echo "" >> $env:GITHUB_STEP_SUMMARY - echo "> Check the Security tab for detailed findings and recommendations." | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append -Encoding utf8 + Write-Output "> Check the Security tab for detailed findings and recommendations." | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append -Encoding utf8 From e598536485dddbe7fa883a1cde5863bc3d532ee8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 04:11:27 +0000 Subject: [PATCH 14/23] Use PowerShell here-string for CodeQL summary to fix parser error Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/codeql.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 16ebd4072..fccf0468f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -100,10 +100,12 @@ jobs: if: success() shell: pwsh run: | - echo "### 🔍 CodeQL Analysis Results" >> $env:GITHUB_STEP_SUMMARY - echo "" >> $env:GITHUB_STEP_SUMMARY - echo "✅ CodeQL security analysis completed successfully." >> $env:GITHUB_STEP_SUMMARY - echo "" >> $env:GITHUB_STEP_SUMMARY - echo "**Language analyzed:** \`${{ matrix.language }}\`" >> $env:GITHUB_STEP_SUMMARY - echo "" >> $env:GITHUB_STEP_SUMMARY - echo "> Check the Security tab for detailed findings and recommendations." >> $env:GITHUB_STEP_SUMMARY + @" + ### 🔍 CodeQL Analysis Results + + ✅ CodeQL security analysis completed successfully. + + **Language analyzed:** ``${{ matrix.language }}`` + + > Check the Security tab for detailed findings and recommendations. + "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 From 1afbd4ae498fdec0f1df34b2207b39ad62ebe4f8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 04:13:57 +0000 Subject: [PATCH 15/23] Use PowerShell here-string to fix CodeQL parser error (reverted previous attempts) Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/codeql.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index fccf0468f..f5a11e0d1 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -109,3 +109,4 @@ jobs: > Check the Security tab for detailed findings and recommendations. "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 +# Temp comment From a475de2d4c5afe50b90466394696a52d8c9c87b8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 04:14:39 +0000 Subject: [PATCH 16/23] Remove temporary comment from CodeQL workflow Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/codeql.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f5a11e0d1..fccf0468f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -109,4 +109,3 @@ jobs: > Check the Security tab for detailed findings and recommendations. "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 -# Temp comment From 400cdfed5407019b9a5019a4d7f1ae64d7a1ddb0 Mon Sep 17 00:00:00 2001 From: David Refoua Date: Mon, 15 Dec 2025 09:48:22 +0330 Subject: [PATCH 17/23] Update .github/workflows/vendor.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/vendor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 50fee6c1b..1f7a7a081 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -234,7 +234,7 @@ jobs: with: title: ${{ env.COUNT_UPDATED == '1' && format('âŦ†ī¸ Update {0}', env.LIST_UPDATED) || format('âŦ†ī¸ Update {0} vendored dependencies', env.COUNT_UPDATED) }} body: | - ### ${{ env.COUNT_UPDATED == '1' && format('đŸ“Ļ Updated {0} from `{1}` to `{2}`', env.SINGLE_DEP_NAME, env.SINGLE_DEP_OLD_VERSION, env.SINGLE_DEP_NEW_VERSION) || format('đŸ“Ļ Automatically updated {0} dependencies', env.COUNT_UPDATED) }} + ### ${{ env.COUNT_UPDATED == 1 && format('đŸ“Ļ Updated {0} from `{1}` to `{2}`', env.SINGLE_DEP_NAME, env.SINGLE_DEP_OLD_VERSION, env.SINGLE_DEP_NEW_VERSION) || format('đŸ“Ļ Automatically updated {0} dependencies', env.COUNT_UPDATED) }} ${{ env.UPDATE_MESSAGE }} From 10a0675c96fbcf62f87421ba44c4a911967379ae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 06:22:39 +0000 Subject: [PATCH 18/23] Remove unused $headBeforeReset variable Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 1f7a7a081..b5beec926 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -219,8 +219,7 @@ jobs: Write-Warning "Failed to auto-merge: $($_.Exception.Message)" - # Reset only if a commit was made (check if HEAD moved) - $headBeforeReset = git rev-parse HEAD + # Reset the commit if one was made if ($commitResult) { git reset --hard HEAD~1 } From 7b86263b0aa5868895eb77dc9cc3552c6117f407 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 06:26:34 +0000 Subject: [PATCH 19/23] Wrap dependency count in backticks for consistency Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/vendor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index b5beec926..c7791226a 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -233,7 +233,7 @@ jobs: with: title: ${{ env.COUNT_UPDATED == '1' && format('âŦ†ī¸ Update {0}', env.LIST_UPDATED) || format('âŦ†ī¸ Update {0} vendored dependencies', env.COUNT_UPDATED) }} body: | - ### ${{ env.COUNT_UPDATED == 1 && format('đŸ“Ļ Updated {0} from `{1}` to `{2}`', env.SINGLE_DEP_NAME, env.SINGLE_DEP_OLD_VERSION, env.SINGLE_DEP_NEW_VERSION) || format('đŸ“Ļ Automatically updated {0} dependencies', env.COUNT_UPDATED) }} + ### ${{ env.COUNT_UPDATED == 1 && format('đŸ“Ļ Updated {0} from `{1}` to `{2}`', env.SINGLE_DEP_NAME, env.SINGLE_DEP_OLD_VERSION, env.SINGLE_DEP_NEW_VERSION) || format('đŸ“Ļ Automatically updated `{0}` dependencies', env.COUNT_UPDATED) }} ${{ env.UPDATE_MESSAGE }} From 8c0e2c542c18bbefccfc44439f33d14f05833b99 Mon Sep 17 00:00:00 2001 From: "Dax T. Games" Date: Sun, 22 Feb 2026 18:25:56 -0500 Subject: [PATCH 20/23] Fix workflow YAML --- .github/workflows/codeql.yml | 23 ++++++++++++----------- .github/workflows/vendor.yml | 4 ++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 5255be780..7abb6bb96 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -52,17 +52,18 @@ jobs: run: | $summary = @" ## 🔒 CodeQL Security Analysis - Workflow Summary - + ### Analysis Configuration - + | Property | Value | | --- | --- | | Repository | `${{ github.repository }}` | | Branch | `${{ github.ref_name }}` | | Language | `${{ matrix.language }}` | | Commit | `${{ github.sha }}` | - + "@ + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY # Initializes the CodeQL tools for scanning. @@ -91,11 +92,11 @@ jobs: run: | $summary = @" ### ✅ Build Completed - + Cmder launcher built successfully for CodeQL analysis. - + "@ - + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY - name: Perform CodeQL Analysis @@ -107,14 +108,14 @@ jobs: if: success() shell: pwsh run: | - $summary = @( + $summary = @" ### 🔍 CodeQL Analysis Results - + ✅ CodeQL security analysis completed successfully. - + **Language analyzed:** `${{ matrix.language }}` - + > Check the Security tab for detailed findings and recommendations. "@ - + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 43a3f5e48..4bac91c28 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -37,7 +37,7 @@ jobs: 🔍 Checking for vendor dependency updates... "@ - + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY - id: make-changes @@ -269,7 +269,7 @@ jobs: **Branch:** `update-vendor` $env:LIST_UPDATED -and "**Updated dependencies:** $env:LIST_UPDATED" -or "**Updated dependencies:** - + "@ if ($env:HAS_BREAKING_CHANGES -eq 'True') { From a6f0015b169f4d29108dd4b1d4fd3be4d2e0229a Mon Sep 17 00:00:00 2001 From: "Dax T. Games" Date: Sun, 22 Feb 2026 13:47:37 -0500 Subject: [PATCH 21/23] cleanup --- .github/workflows/build.yml | 44 ++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4f0581db0..7a7b871ad 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,17 +42,24 @@ jobs: - name: Summary - Repository checkout shell: pwsh run: | - echo "## đŸ“Ļ Build Cmder - Workflow Summary" >> $env:GITHUB_STEP_SUMMARY - echo "" >> $env:GITHUB_STEP_SUMMARY - echo "### Repository Information" >> $env:GITHUB_STEP_SUMMARY - echo "| Property | Value |" >> $env:GITHUB_STEP_SUMMARY - echo "| --- | --- |" >> $env:GITHUB_STEP_SUMMARY - echo "| Repository | \`${{ github.repository }}\` |" >> $env:GITHUB_STEP_SUMMARY - echo "| Branch | \`${{ github.ref_name }}\` |" >> $env:GITHUB_STEP_SUMMARY - echo "| Commit | \`${{ github.sha }}\` |" >> $env:GITHUB_STEP_SUMMARY - echo "| Actor | @${{ github.actor }} |" >> $env:GITHUB_STEP_SUMMARY - echo "| Workflow | \`${{ github.workflow }}\` |" >> $env:GITHUB_STEP_SUMMARY - echo "" >> $env:GITHUB_STEP_SUMMARY + $summary = @" + ## đŸ“Ļ Build Cmder - Workflow Summary + + Build started: $buildTime + + ### Repository Information + | Property | Value | + | --- | --- | + | Repository | [``${{ github.repository }}``](https://github.com/${{ github.repository }}) | + | Branch | [``$branchName``]($branchLink) | + | Commit | [``${{ github.sha }}``](https://github.com/${{ github.repository }}/commit/${{ github.sha }}) | + | Actor | [@${{ github.actor }}](https://github.com/${{ github.actor }}) | + | Workflow | ``${{ github.workflow }}`` | + | Cmder Version | **$cmderVersion** | + "@ + $summary += "`n" + + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 - name: Add MSBuild to PATH uses: microsoft/setup-msbuild@v2 @@ -66,10 +73,17 @@ jobs: if: success() shell: pwsh run: | - echo "### ✅ Build Status" >> $env:GITHUB_STEP_SUMMARY - echo "" >> $env:GITHUB_STEP_SUMMARY - echo "Cmder launcher successfully compiled." >> $env:GITHUB_STEP_SUMMARY - echo "" >> $env:GITHUB_STEP_SUMMARY + $summary = @" + + --- + + ### Build Status + + ✅ Cmder built successfully. + + "@ + + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 - name: Pack the built files shell: pwsh From d495b0672607f48ce3236cb73878ea48efff86c8 Mon Sep 17 00:00:00 2001 From: "Dax T. Games" Date: Sun, 22 Feb 2026 15:14:05 -0500 Subject: [PATCH 22/23] fixes --- .github/dependabot.yml | 5 +++ .github/workflows/codeql.yml | 16 +++++----- .github/workflows/vendor.yml | 62 ++++++++++++++++++------------------ 3 files changed, 44 insertions(+), 39 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d08569dfe..b05586197 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,3 +1,8 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + version: 2 updates: # Enable version updates for GitHub Actions diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 7abb6bb96..3711ffe83 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -57,14 +57,14 @@ jobs: | Property | Value | | --- | --- | - | Repository | `${{ github.repository }}` | - | Branch | `${{ github.ref_name }}` | - | Language | `${{ matrix.language }}` | - | Commit | `${{ github.sha }}` | + | Repository | ``${{ github.repository }}`` | + | Branch | ``${{ github.ref_name }}`` | + | Language | ``${{ matrix.language }}`` | + | Commit | ``${{ github.sha }}`` | "@ - $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL @@ -97,7 +97,7 @@ jobs: "@ - $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v4 @@ -113,9 +113,9 @@ jobs: ✅ CodeQL security analysis completed successfully. - **Language analyzed:** `${{ matrix.language }}` + **Language analyzed:** ``${{ matrix.language }}`` > Check the Security tab for detailed findings and recommendations. "@ - $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index 4bac91c28..d37034f3c 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -31,14 +31,14 @@ jobs: - name: Summary - Workflow started shell: pwsh run: | - $summary = @" - ## đŸ“Ļ Update Vendor - Workflow Summary + $summary = @( + '## đŸ“Ļ Update Vendor - Workflow Summary' + '' + '🔍 Checking for vendor dependency updates...' + '' + ) - 🔍 Checking for vendor dependency updates... - - "@ - - $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 - id: make-changes name: Checking for updates @@ -163,21 +163,21 @@ jobs: $count = [int]$env:COUNT_UPDATED if ($count -eq 0) { - $summary = @" - ### ✅ No Updates Available - - All vendor dependencies are up to date! 🎉 - "@ + $summary = @( + '### ✅ No Updates Available' + '' + 'All vendor dependencies are up to date! 🎉' + ) } else { $word = if ($count -eq 1) { 'dependency' } else { 'dependencies' } - $summary = @" - ### 🔄 Updates Found - - đŸ“Ļ **$env:SINGLE_DEP_NAME** updated from ``$env:SINGLE_DEP_OLD_VERSION`` to ``$env:SINGLE_DEP_NEW_VERSION`` - - đŸ“Ļ **$count** vendor $word updated: - - "@ + $summary = @( + '### 🔄 Updates Found' + '' + "đŸ“Ļ **$env:SINGLE_DEP_NAME** updated from ``$env:SINGLE_DEP_OLD_VERSION`` to ``$env:SINGLE_DEP_NEW_VERSION``" + '' + 'đŸ“Ļ **$count** vendor $word updated:' + '' + ) } $summary += "$env:UPDATE_MESSAGE" @@ -261,16 +261,16 @@ jobs: if: env.COUNT_UPDATED > 0 && (env.HAS_BREAKING_CHANGES == 'True' || env.AUTO_MERGED == 'false') shell: pwsh run: | - $summary = @" - ### 🎉 Pull Request Created - - A pull request has been created to update the vendor dependencies. - - **Branch:** `update-vendor` - - $env:LIST_UPDATED -and "**Updated dependencies:** $env:LIST_UPDATED" -or "**Updated dependencies:** - - "@ + $summary = @( + '### 🎉 Pull Request Created' + '' + 'A pull request has been created to update the vendor dependencies.' + '' + '**Branch:** `update-vendor`' + '' + "$env:LIST_UPDATED -and "**Updated dependencies:** $env:LIST_UPDATED" -or "**Updated dependencies:**" + '' + ) if ($env:HAS_BREAKING_CHANGES -eq 'True') { $summary += "> âš ī¸ **Manual review required:** This update contains major version changes." @@ -283,4 +283,4 @@ jobs: "@ - $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY + $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8 From 1e2d8eb47d96b97df4995eb1e593866c94d5a3d2 Mon Sep 17 00:00:00 2001 From: "Dax T. Games" Date: Sat, 28 Feb 2026 08:54:40 -0500 Subject: [PATCH 23/23] fixes --- .github/workflows/vendor.yml | 70 ++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml index d37034f3c..801f8e872 100644 --- a/.github/workflows/vendor.yml +++ b/.github/workflows/vendor.yml @@ -47,7 +47,11 @@ jobs: run: | $currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json) . .\scripts\update.ps1 -verbose + + # Export count of updated packages (update.ps1 is expected to set $count) + if (-not ($count)) { $count = 0 } Set-GHVariable -Name COUNT_UPDATED -Value $count + $newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json) $listUpdated = "" $updateMessage = "| Name | Old Version | New Version |`n| :--- | :---: | :---: |`n" @@ -121,7 +125,9 @@ jobs: $updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | **\`$($s.version)\`** |`n" } } + if ($count -eq 0) { return } + Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ') # Set single dependency variables (they will only be used if COUNT_UPDATED is 1) # Use safe fallback values in case variables weren't set (shouldn't happen but prevents errors) @@ -137,12 +143,17 @@ jobs: $singleDepOldVersion = "" $singleDepNewVersion = "" } + Set-GHVariable -Name SINGLE_DEP_NAME -Value $singleDepName Set-GHVariable -Name SINGLE_DEP_OLD_VERSION -Value $singleDepOldVersion Set-GHVariable -Name SINGLE_DEP_NEW_VERSION -Value $singleDepNewVersion - echo "UPDATE_MESSAGE<< 0 && env.HAS_BREAKING_CHANGES != 'True' @@ -261,16 +276,17 @@ jobs: if: env.COUNT_UPDATED > 0 && (env.HAS_BREAKING_CHANGES == 'True' || env.AUTO_MERGED == 'false') shell: pwsh run: | - $summary = @( - '### 🎉 Pull Request Created' - '' - 'A pull request has been created to update the vendor dependencies.' - '' - '**Branch:** `update-vendor`' - '' - "$env:LIST_UPDATED -and "**Updated dependencies:** $env:LIST_UPDATED" -or "**Updated dependencies:**" - '' - ) + $updatedLine = if (-not [string]::IsNullOrEmpty($env:LIST_UPDATED)) { "**Updated dependencies:** $env:LIST_UPDATED" } else { "**Updated dependencies:** " } + $summary = @" + ### 🎉 Pull Request Created + + A pull request has been created to update the vendor dependencies. + + **Branch:** `update-vendor` + + $updatedLine + + "@ if ($env:HAS_BREAKING_CHANGES -eq 'True') { $summary += "> âš ī¸ **Manual review required:** This update contains major version changes."