From 3810b8d258225f9663be444c437a13931ceca1f5 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 14 Dec 2025 21:42:23 +0000
Subject: [PATCH 01/20] Initial plan
From 1e04711a2111f8da84573946693e394d631cebdf Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 14 Dec 2025 22:08:39 +0000
Subject: [PATCH 02/20] =?UTF-8?q?Change=20test=20emoji=20from=20?=
=?UTF-8?q?=F0=9F=A7=AA=20to=20=E2=9C=85=20in=20workflow=20summary?=
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/build.yml | 96 +++++++++++++++++++++---------------
.github/workflows/codeql.yml | 50 ++++++++++---------
.github/workflows/tests.yml | 89 +++++++++++++++++++++++----------
3 files changed, 149 insertions(+), 86 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2b71a75cd..c59f93536 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
+ # Get Cmder version
+ . scripts/utils.ps1
+ $cmderVersion = Get-VersionStr
+
+ @"
+ ## ๐ฆ Build Cmder - Workflow Summary
+
+ ### Repository Information
+ | Property | Value |
+ | --- | --- |
+ | Repository | ``${{ github.repository }}`` |
+ | Branch | ``${{ github.ref_name }}`` |
+ | Commit | ``${{ github.sha }}`` |
+ | Actor | @${{ github.actor }} |
+ | Workflow | ``${{ github.workflow }}`` |
+ | Cmder Version | **$cmderVersion** |
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
@@ -66,10 +73,12 @@ 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
+ @"
+ ### โ
Build Status
+
+ Cmder launcher successfully compiled.
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Pack the built files
shell: pwsh
@@ -80,10 +89,13 @@ jobs:
if: success()
shell: pwsh
run: |
- echo "### ๐ฆ Artifacts Created" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "| Artifact | Size | Hash (SHA256) |" >> $env:GITHUB_STEP_SUMMARY
- echo "| --- | --- | --- |" >> $env:GITHUB_STEP_SUMMARY
+ $summary = @"
+ ### ๐ฆ Artifacts Created
+
+ | Artifact | Size | Hash (SHA256) |
+ | --- | --- | --- |
+ "@
+
$artifacts = @("cmder.zip", "cmder.7z", "cmder_mini.zip")
foreach ($artifact in $artifacts) {
$path = "build/$artifact"
@@ -91,10 +103,12 @@ jobs:
$size = (Get-Item $path).Length / 1MB
# Truncate hash to first 16 chars for summary readability (full hash in hashes.txt)
$hash = (Get-FileHash $path -Algorithm SHA256).Hash.Substring(0, 16)
- echo "| \`$artifact\` | $([math]::Round($size, 2)) MB | \`$hash...\` |" >> $env:GITHUB_STEP_SUMMARY
+ $summary += "`n| ``$artifact`` | $([math]::Round($size, 2)) MB | ``$hash...`` |"
}
}
- echo "" >> $env:GITHUB_STEP_SUMMARY
+ $summary += "`n"
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Upload artifact (cmder.zip)
uses: actions/upload-artifact@v5
@@ -125,14 +139,16 @@ jobs:
if: success()
shell: pwsh
run: |
- echo "### โ๏ธ Upload Status" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "All artifacts successfully uploaded to GitHub Actions:" >> $env:GITHUB_STEP_SUMMARY
- echo "- โ
\`cmder.zip\`" >> $env:GITHUB_STEP_SUMMARY
- echo "- โ
\`cmder.7z\`" >> $env:GITHUB_STEP_SUMMARY
- echo "- โ
\`cmder_mini.zip\`" >> $env:GITHUB_STEP_SUMMARY
- echo "- โ
\`hashes.txt\`" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
+ @"
+ ### โ๏ธ Upload Status
+
+ All artifacts successfully uploaded to GitHub Actions:
+ - โ
``cmder.zip``
+ - โ
``cmder.7z``
+ - โ
``cmder_mini.zip``
+ - โ
``hashes.txt``
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Create Release
uses: softprops/action-gh-release@v2
@@ -150,13 +166,15 @@ jobs:
if: startsWith(github.ref, 'refs/tags/')
shell: pwsh
run: |
- echo "### ๐ Release Information" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "Draft release created for tag: **\`${{ github.ref_name }}\`**" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "Release includes:" >> $env:GITHUB_STEP_SUMMARY
- echo "- Full version (\`cmder.zip\`, \`cmder.7z\`)" >> $env:GITHUB_STEP_SUMMARY
- echo "- Mini version (\`cmder_mini.zip\`)" >> $env:GITHUB_STEP_SUMMARY
- echo "- File hashes (\`hashes.txt\`)" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "> โ ๏ธ Release is in **draft** mode. Please review and publish manually." >> $env:GITHUB_STEP_SUMMARY
+ @"
+ ### ๐ Release Information
+
+ Draft release created for tag: **``${{ github.ref_name }}``**
+
+ Release includes:
+ - Full version (``cmder.zip``, ``cmder.7z``)
+ - Mini version (``cmder_mini.zip``)
+ - File hashes (``hashes.txt``)
+
+ > โ ๏ธ Release is in **draft** mode. Please review and publish manually.
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 16ebd4072..30052d7eb 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -50,17 +50,19 @@ jobs:
- name: Summary - CodeQL analysis started
shell: pwsh
run: |
- echo "## ๐ CodeQL Security Analysis - Workflow Summary" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "### Analysis Configuration" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $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 "| Language | \`${{ matrix.language }}\` |" >> $env:GITHUB_STEP_SUMMARY
- echo "| Commit | \`${{ github.sha }}\` |" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
+ @"
+ ## ๐ CodeQL Security Analysis - Workflow Summary
+
+ ### Analysis Configuration
+
+ | Property | Value |
+ | --- | --- |
+ | Repository | ``${{ github.repository }}`` |
+ | Branch | ``${{ github.ref_name }}`` |
+ | Language | ``${{ matrix.language }}`` |
+ | Commit | ``${{ github.sha }}`` |
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@@ -86,10 +88,12 @@ jobs:
if: success()
shell: pwsh
run: |
- echo "### โ
Build Completed" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "Cmder launcher built successfully for CodeQL analysis." >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
+ @"
+ ### โ
Build Completed
+
+ Cmder launcher built successfully for CodeQL analysis.
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
@@ -100,10 +104,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
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 5110ab18d..ec295e328 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -43,16 +43,25 @@ jobs:
- name: Summary - Test execution started
shell: pwsh
run: |
- echo "## ๐งช Run Tests - Workflow Summary" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "### Test Environment" >> $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 "| Runner OS | \`${{ runner.os }}\` |" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
+ # Get Cmder version
+ . scripts/utils.ps1
+ $cmderVersion = Get-VersionStr
+
+ @"
+ ## โ
Run Tests - Workflow Summary
+
+ ### Test Environment
+ | Property | Value |
+ | --- | --- |
+ | Repository | ``${{ github.repository }}`` |
+ | Branch | ``${{ github.ref_name }}`` |
+ | Commit | ``${{ github.sha }}`` |
+ | Runner OS | ``${{ runner.os }}`` |
+ | Cmder Version | **$cmderVersion** |
+ | PowerShell Version | **$($PSVersionTable.PSVersion)** |
+ | Event | ``${{ github.event_name }}`` |
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Initialize vendors
shell: pwsh
@@ -63,21 +72,42 @@ jobs:
if: success()
shell: pwsh
run: |
- echo "### โ๏ธ Vendor Initialization" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "โ
Vendor dependencies initialized successfully." >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
+ # Get vendor versions
+ $vendorInfo = @()
+ $vendorDirs = @("conemu-maximus5", "clink", "git-for-windows")
+ foreach ($dir in $vendorDirs) {
+ $versionFile = "vendor/$dir/.cmderver"
+ if (Test-Path $versionFile) {
+ $version = Get-Content $versionFile -Raw
+ $vendorInfo += "- **$dir**: $($version.Trim())"
+ }
+ }
+
+ $summary = @"
+ ### โ๏ธ Vendor Initialization
+
+ โ
Vendor dependencies initialized successfully.
+
+ **Vendor Versions:**
+ $($vendorInfo -join "`n")
+
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Summary - Test results table header
if: success()
shell: pwsh
run: |
- echo "### ๐ Test Results" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "| Test | Status |" >> $env:GITHUB_STEP_SUMMARY
- echo "| --- | --- |" >> $env:GITHUB_STEP_SUMMARY
+ @"
+ ### ๐ Test Results
+
+ | Test | Status | Duration |
+ | --- | --- | --- |
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Testing Clink Shell
+ id: test-clink
run: |
cmd /c vendor\init.bat /v /d /t
@@ -85,8 +115,9 @@ jobs:
if: success()
shell: pwsh
run: |
- echo "| Clink Shell | โ
Passed |" >> $env:GITHUB_STEP_SUMMARY
+ "| Clink Shell | โ
Passed | Cmd shell initialization |" | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Testing PowerShell
+ id: test-powershell
run: |
PowerShell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "$env:CMDER_DEBUG='1'; . 'vendor\profile.ps1'"
@@ -94,8 +125,9 @@ jobs:
if: success()
shell: pwsh
run: |
- echo "| PowerShell | โ
Passed |" >> $env:GITHUB_STEP_SUMMARY
+ "| PowerShell | โ
Passed | Profile script execution |" | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Testing Bash
+ id: test-bash
run: |
bash vendor/cmder.sh
@@ -103,13 +135,20 @@ jobs:
if: success()
shell: pwsh
run: |
- echo "| Bash | โ
Passed |" >> $env:GITHUB_STEP_SUMMARY
+ "| Bash | โ
Passed | Bash environment initialization |" | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Summary - All tests completed
if: success()
shell: pwsh
run: |
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "### โ
All Tests Completed" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "All shell environments tested successfully!" >> $env:GITHUB_STEP_SUMMARY
+ @"
+
+ ### โ
All Tests Completed
+
+ All shell environments tested successfully!
+
+ **Test Coverage:**
+ - โ
Clink shell environment (Windows cmd.exe with Clink)
+ - โ
PowerShell environment (with Cmder profile)
+ - โ
Bash environment (Git Bash integration)
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
From 0bc7fd3aaa01feb5bf62e4503ba18b9b644f7fad Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 14 Dec 2025 22:30:03 +0000
Subject: [PATCH 03/20] Improve build workflow summary: add links, vendor
packages, full hashes, and merge artifact sections
Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com>
---
.github/workflows/build.yml | 93 +++++++++++++++++++++----------------
1 file changed, 52 insertions(+), 41 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c59f93536..df6579be8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -45,21 +45,38 @@ jobs:
# Get Cmder version
. scripts/utils.ps1
$cmderVersion = Get-VersionStr
+ $buildTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
@"
## ๐ฆ Build Cmder - Workflow Summary
+ Build started: $buildTime
+
### Repository Information
| Property | Value |
| --- | --- |
- | Repository | ``${{ github.repository }}`` |
- | Branch | ``${{ github.ref_name }}`` |
- | Commit | ``${{ github.sha }}`` |
- | Actor | @${{ github.actor }} |
+ | Repository | [${{ github.repository }}](https://github.com/${{ github.repository }}) |
+ | Branch | [${{ github.ref_name }}](https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}) |
+ | 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** |
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ ---
+
+ ### Vendor Packages
+ | Package | Version |
+ | --- | --- |
+ "@
+
+ # Read vendor sources.json and add to summary
+ $vendorSources = Get-Content "vendor/sources.json" | ConvertFrom-Json
+ foreach ($vendor in $vendorSources) {
+ $summary += "`n| ``$($vendor.name)`` | $($vendor.version) |"
+ }
+ $summary += "`n"
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
@@ -74,9 +91,12 @@ jobs:
shell: pwsh
run: |
@"
- ### โ
Build Status
- Cmder launcher successfully compiled.
+ ---
+
+ ### Build Status
+
+ โ
Cmder launcher successfully compiled.
"@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
@@ -85,31 +105,6 @@ jobs:
working-directory: scripts
run: .\pack.ps1 -verbose
- - name: Summary - Package artifacts
- if: success()
- shell: pwsh
- run: |
- $summary = @"
- ### ๐ฆ Artifacts Created
-
- | Artifact | Size | Hash (SHA256) |
- | --- | --- | --- |
- "@
-
- $artifacts = @("cmder.zip", "cmder.7z", "cmder_mini.zip")
- foreach ($artifact in $artifacts) {
- $path = "build/$artifact"
- if (Test-Path $path) {
- $size = (Get-Item $path).Length / 1MB
- # Truncate hash to first 16 chars for summary readability (full hash in hashes.txt)
- $hash = (Get-FileHash $path -Algorithm SHA256).Hash.Substring(0, 16)
- $summary += "`n| ``$artifact`` | $([math]::Round($size, 2)) MB | ``$hash...`` |"
- }
- }
- $summary += "`n"
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
-
- name: Upload artifact (cmder.zip)
uses: actions/upload-artifact@v5
with:
@@ -140,15 +135,28 @@ jobs:
shell: pwsh
run: |
@"
- ### โ๏ธ Upload Status
- All artifacts successfully uploaded to GitHub Actions:
- - โ
``cmder.zip``
- - โ
``cmder.7z``
- - โ
``cmder_mini.zip``
- - โ
``hashes.txt``
+ ---
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ ### Artifacts
+
+ | Artifact | Size | Hash (SHA256) | Download |
+ | --- | --- | --- | --- |
+ "@
+
+ $artifacts = @("cmder.zip", "cmder.7z", "cmder_mini.zip", "hashes.txt")
+ foreach ($artifact in $artifacts) {
+ $path = "build/$artifact"
+ if (Test-Path $path) {
+ $size = (Get-Item $path).Length / 1MB
+ $hash = (Get-FileHash $path -Algorithm SHA256).Hash
+ $downloadUrl = "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
+ $summary += "`n| ``$artifact`` | $([math]::Round($size, 2)) MB | ``$hash`` | [Download]($downloadUrl) |"
+ }
+ }
+ $summary += "`n"
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Create Release
uses: softprops/action-gh-release@v2
@@ -167,9 +175,12 @@ jobs:
shell: pwsh
run: |
@"
- ### ๐ Release Information
- Draft release created for tag: **``${{ github.ref_name }}``**
+ ---
+
+ ### Release Information
+
+ ๐ Draft release created for tag: **``${{ github.ref_name }}``**
Release includes:
- Full version (``cmder.zip``, ``cmder.7z``)
From 2057ee58b03d87728594e7542f19326e2b2bc99a Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 15 Dec 2025 01:13:19 +0000
Subject: [PATCH 04/20] Fix incomplete summary by initializing $summary
variable before appending
Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com>
---
.github/workflows/build.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index df6579be8..9cf6788a9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -47,7 +47,7 @@ jobs:
$cmderVersion = Get-VersionStr
$buildTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
- @"
+ $summary = @"
## ๐ฆ Build Cmder - Workflow Summary
Build started: $buildTime
@@ -134,7 +134,7 @@ jobs:
if: success()
shell: pwsh
run: |
- @"
+ $summary = @"
---
From bff3862ad4c2939c0821676683dc7dc6d0817642 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 15 Dec 2025 01:41:42 +0000
Subject: [PATCH 05/20] =?UTF-8?q?Use=20=F0=9F=97=83=EF=B8=8F=20emoji=20for?=
=?UTF-8?q?=20Vendor=20Packages=20and=20Artifacts=20sections?=
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/build.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9cf6788a9..859002725 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -64,7 +64,7 @@ jobs:
---
- ### Vendor Packages
+ ### ๐๏ธ Vendor Packages
| Package | Version |
| --- | --- |
"@
@@ -138,7 +138,7 @@ jobs:
---
- ### Artifacts
+ ### ๐๏ธ Artifacts
| Artifact | Size | Hash (SHA256) | Download |
| --- | --- | --- | --- |
From 838c1cfaa3cc0140f8bddd428a69225ac0d184c9 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 15 Dec 2025 01:56:14 +0000
Subject: [PATCH 06/20] Add backticks to clickable links for code formatting in
Repository Information
Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com>
---
.github/workflows/build.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 859002725..7441c5b02 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -55,9 +55,9 @@ jobs:
### Repository Information
| Property | Value |
| --- | --- |
- | Repository | [${{ github.repository }}](https://github.com/${{ github.repository }}) |
- | Branch | [${{ github.ref_name }}](https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}) |
- | Commit | [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }}) |
+ | Repository | [``${{ github.repository }}``](https://github.com/${{ github.repository }}) |
+ | Branch | [``${{ github.ref_name }}``](https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}) |
+ | 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** |
From 27c7a0cdc6c6b4224a2715236adde5a2dd1cc7d7 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 15 Dec 2025 01:59:35 +0000
Subject: [PATCH 07/20] Improve build summary: simplify message, reorder
columns, add file type emojis
Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com>
---
.github/workflows/build.yml | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7441c5b02..6583450f7 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -96,7 +96,7 @@ jobs:
### Build Status
- โ
Cmder launcher successfully compiled.
+ โ
Cmder built successfully.
"@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
@@ -140,7 +140,7 @@ jobs:
### ๐๏ธ Artifacts
- | Artifact | Size | Hash (SHA256) | Download |
+ | Artifact | Size | Download | Hash (SHA256) |
| --- | --- | --- | --- |
"@
@@ -151,7 +151,17 @@ jobs:
$size = (Get-Item $path).Length / 1MB
$hash = (Get-FileHash $path -Algorithm SHA256).Hash
$downloadUrl = "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
- $summary += "`n| ``$artifact`` | $([math]::Round($size, 2)) MB | ``$hash`` | [Download]($downloadUrl) |"
+
+ # Determine emoji based on file type
+ if ($artifact -match '\.txt$') {
+ $emoji = "๐"
+ } elseif ($artifact -match '\.(zip|7z)$') {
+ $emoji = "๐๏ธ"
+ } else {
+ $emoji = "๐ฆ"
+ }
+
+ $summary += "`n| $emoji ``$artifact`` | $([math]::Round($size, 2)) MB | [๐ฅ Download]($downloadUrl) | ``$hash`` |"
}
}
$summary += "`n"
From a937901e822eb19c527f368f0e7056a1ab9172ad Mon Sep 17 00:00:00 2001
From: David Refoua
Date: Mon, 15 Dec 2025 06:06:08 +0330
Subject: [PATCH 08/20] Change emoji for Vendor Packages section
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6583450f7..3bd7ff39f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -64,7 +64,7 @@ jobs:
---
- ### ๐๏ธ Vendor Packages
+ ### ๐ Vendor Packages
| Package | Version |
| --- | --- |
"@
From 825df3aace44502da0bad0934c2a4f02411ce641 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 15 Dec 2025 02:48:18 +0000
Subject: [PATCH 09/20] Fix branch link for PR merge refs to point to PR
instead of invalid tree URL
Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com>
---
.github/workflows/build.yml | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3bd7ff39f..29d09d1f6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -47,6 +47,21 @@ jobs:
$cmderVersion = Get-VersionStr
$buildTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
+ # Determine branch link (handle PR merge refs)
+ $branchName = "${{ github.ref_name }}"
+ $branchLink = ""
+ if ($branchName -match '^(\d+)/(merge|head)$') {
+ # This is a PR merge/head ref, link to the PR
+ $prNumber = $Matches[1]
+ $branchLink = "https://github.com/${{ github.repository }}/pull/$prNumber"
+ } elseif ("${{ github.event_name }}" -eq "pull_request") {
+ # This is a pull request event, link to the PR
+ $branchLink = "https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
+ } else {
+ # Regular branch, link to the branch tree
+ $branchLink = "https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}"
+ }
+
$summary = @"
## ๐ฆ Build Cmder - Workflow Summary
@@ -56,7 +71,7 @@ jobs:
| Property | Value |
| --- | --- |
| Repository | [``${{ github.repository }}``](https://github.com/${{ github.repository }}) |
- | Branch | [``${{ github.ref_name }}``](https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}) |
+ | 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 }}`` |
From a52b0b9e1011779ab14c92b042d874b76e098186 Mon Sep 17 00:00:00 2001
From: David Refoua
Date: Mon, 15 Dec 2025 06:20:35 +0330
Subject: [PATCH 10/20] Update .github/workflows/tests.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.github/workflows/tests.yml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index ec295e328..916b678af 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -72,9 +72,10 @@ jobs:
if: success()
shell: pwsh
run: |
- # Get vendor versions
+ # Get vendor versions from sources.json
$vendorInfo = @()
- $vendorDirs = @("conemu-maximus5", "clink", "git-for-windows")
+ $sources = Get-Content "sources.json" -Raw | ConvertFrom-Json
+ $vendorDirs = $sources.PSObject.Properties | ForEach-Object { $_.Name }
foreach ($dir in $vendorDirs) {
$versionFile = "vendor/$dir/.cmderver"
if (Test-Path $versionFile) {
From 641ce7b1e811063fda12a62a3d84de7063c314e9 Mon Sep 17 00:00:00 2001
From: David Refoua
Date: Mon, 15 Dec 2025 06:23:04 +0330
Subject: [PATCH 11/20] Update .github/workflows/build.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.github/workflows/build.yml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 29d09d1f6..caf5e0664 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -86,8 +86,12 @@ jobs:
# Read vendor sources.json and add to summary
$vendorSources = Get-Content "vendor/sources.json" | ConvertFrom-Json
- foreach ($vendor in $vendorSources) {
- $summary += "`n| ``$($vendor.name)`` | $($vendor.version) |"
+ if ($vendorSources.Count -eq 0) {
+ $summary += "`n| _No vendor packages found_ | |"
+ } else {
+ foreach ($vendor in $vendorSources) {
+ $summary += "`n| ``$($vendor.name)`` | $($vendor.version) |"
+ }
}
$summary += "`n"
From 2780a433237172ff0ce3156b85f7f897b8119e77 Mon Sep 17 00:00:00 2001
From: David Refoua
Date: Mon, 15 Dec 2025 06:33:39 +0330
Subject: [PATCH 12/20] Update .github/workflows/tests.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.github/workflows/tests.yml | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 916b678af..043b15860 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -90,7 +90,13 @@ jobs:
โ
Vendor dependencies initialized successfully.
**Vendor Versions:**
- $($vendorInfo -join "`n")
+ $(
+ if ($vendorInfo.Count -eq 0) {
+ "_No vendor version information available._"
+ } else {
+ $vendorInfo -join "`n"
+ }
+ )
"@
From 684185ca8a252887f51d883222a86993308799cd Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 25 Dec 2025 05:37:09 +0000
Subject: [PATCH 13/20] Fix vendor workflow Unicode escape error by converting
echo to PowerShell here-strings
Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com>
---
.github/workflows/vendor.yml | 52 +++++++++++++++++++++---------------
1 file changed, 30 insertions(+), 22 deletions(-)
diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml
index 717e543db..6bdf80496 100644
--- a/.github/workflows/vendor.yml
+++ b/.github/workflows/vendor.yml
@@ -31,10 +31,12 @@ jobs:
- name: Summary - Workflow started
shell: pwsh
run: |
- echo "## ๐ฆ Update Vendor - Workflow Summary" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "Checking for vendor dependency updates..." >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
+ @"
+ ## ๐ฆ Update Vendor - Workflow Summary
+
+ Checking for vendor dependency updates...
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- id: make-changes
name: Checking for updates
@@ -64,17 +66,21 @@ jobs:
run: |
$count = $env:COUNT_UPDATED
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
+ @"
+ ### โ
No Updates Available
+
+ All vendor dependencies are up to date.
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
} else {
$word = if ($count -eq 1) { 'dependency' } else { 'dependencies' }
- echo "### ๐ Updates Found" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- 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
+ @"
+ ### ๐ Updates Found
+
+ **$count** vendor $word updated:
+
+ $env:UPDATE_MESSAGE
+
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
}
- uses: peter-evans/create-pull-request@v7
@@ -94,12 +100,14 @@ jobs:
if: env.COUNT_UPDATED > 0
shell: pwsh
run: |
- echo "### ๐ Pull Request Created" >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "A pull request has been created to update the vendor dependencies." >> $env:GITHUB_STEP_SUMMARY
- echo "" >> $env:GITHUB_STEP_SUMMARY
- echo "**Branch:** \`update-vendor\`" >> $env:GITHUB_STEP_SUMMARY
- 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
+ @"
+ ### ๐ Pull Request Created
+
+ A pull request has been created to update the vendor dependencies.
+
+ **Branch:** ``update-vendor``
+
+ **Updated dependencies:** $env:LIST_UPDATED
+
+ > Please review and merge the pull request to apply the updates.
+ "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
From dc93fa5d1bbe783d39147c387b68bfb78b2ff457 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 25 Dec 2025 05:40:39 +0000
Subject: [PATCH 14/20] Add real artifact download URLs with retry logic and
fallback to run page
Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com>
---
.github/workflows/build.yml | 46 +++++++++++++++++++++++++++++++++++--
1 file changed, 44 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index caf5e0664..40ca5baf8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -152,6 +152,8 @@ jobs:
- name: Summary - Artifacts uploaded
if: success()
shell: pwsh
+ env:
+ GH_TOKEN: ${{ github.token }}
run: |
$summary = @"
@@ -163,13 +165,53 @@ jobs:
| --- | --- | --- | --- |
"@
+ # Function to get artifact download URL with retry logic
+ function Get-ArtifactDownloadUrl {
+ param(
+ [string]$ArtifactName,
+ [int]$MaxRetries = 3,
+ [int]$DelaySeconds = 2
+ )
+
+ for ($i = 0; $i -lt $MaxRetries; $i++) {
+ try {
+ # Use GitHub CLI to get artifact information
+ $artifactsJson = gh api "repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts" --jq ".artifacts[] | select(.name == `"$ArtifactName`")"
+
+ if ($artifactsJson) {
+ $artifact = $artifactsJson | ConvertFrom-Json
+ if ($artifact.archive_download_url) {
+ return $artifact.archive_download_url
+ }
+ }
+ } catch {
+ Write-Host "Attempt $($i + 1) failed to get artifact URL for $ArtifactName : $_"
+ }
+
+ if ($i -lt ($MaxRetries - 1)) {
+ Start-Sleep -Seconds $DelaySeconds
+ }
+ }
+
+ return $null
+ }
+
$artifacts = @("cmder.zip", "cmder.7z", "cmder_mini.zip", "hashes.txt")
foreach ($artifact in $artifacts) {
$path = "build/$artifact"
if (Test-Path $path) {
$size = (Get-Item $path).Length / 1MB
$hash = (Get-FileHash $path -Algorithm SHA256).Hash
- $downloadUrl = "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
+
+ # Try to get the actual artifact download URL
+ $downloadUrl = Get-ArtifactDownloadUrl -ArtifactName $artifact
+ $warning = ""
+
+ if (-not $downloadUrl) {
+ # Fallback to workflow run page if artifact URL fetch fails
+ $downloadUrl = "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
+ $warning = " โ ๏ธ"
+ }
# Determine emoji based on file type
if ($artifact -match '\.txt$') {
@@ -180,7 +222,7 @@ jobs:
$emoji = "๐ฆ"
}
- $summary += "`n| $emoji ``$artifact`` | $([math]::Round($size, 2)) MB | [๐ฅ Download]($downloadUrl) | ``$hash`` |"
+ $summary += "`n| $emoji ``$artifact`` | $([math]::Round($size, 2)) MB | [๐ฅ Download$warning]($downloadUrl) | ``$hash`` |"
}
}
$summary += "`n"
From e71c7679f60c50a6454ee44b2c1c6762fa3b5529 Mon Sep 17 00:00:00 2001
From: "Dax T. Games"
Date: Sun, 22 Feb 2026 16:22:17 -0500
Subject: [PATCH 15/20] Fixes and Cleanup
---
.github/dependabot.yml | 4 ++
.github/workflows/build.yml | 21 ++++---
.github/workflows/codeql.yml | 18 ++++--
.github/workflows/tests.yml | 18 ++++--
.github/workflows/vendor.yml | 24 +++++---
CHANGELOG.md | 79 ++++++++++++++++++++++++
vendor/clink.lua | 116 ++++++++++++++++++++++++++++++++---
7 files changed, 242 insertions(+), 38 deletions(-)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 90e05c40d..b05586197 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -5,7 +5,11 @@
version: 2
updates:
+ # Enable version updates for GitHub Actions
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
+ labels:
+ - "๐ Dependencies"
+ - "๐๏ธ GitHub Actions"
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 40ca5baf8..d3886ec5d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -93,6 +93,7 @@ jobs:
$summary += "`n| ``$($vendor.name)`` | $($vendor.version) |"
}
}
+
$summary += "`n"
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
@@ -109,7 +110,7 @@ jobs:
if: success()
shell: pwsh
run: |
- @"
+ $summary = @"
---
@@ -117,7 +118,9 @@ jobs:
โ
Cmder built successfully.
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Pack the built files
shell: pwsh
@@ -125,26 +128,26 @@ jobs:
run: .\pack.ps1 -verbose
- name: Upload artifact (cmder.zip)
- uses: actions/upload-artifact@v5
+ uses: actions/upload-artifact@v6
with:
path: build/cmder.zip
name: cmder.zip
if-no-files-found: error
- name: Upload artifact (cmder.7z)
- uses: actions/upload-artifact@v5
+ uses: actions/upload-artifact@v6
with:
path: build/cmder.7z
name: cmder.7z
- name: Upload artifact (cmder_mini.zip)
- uses: actions/upload-artifact@v5
+ uses: actions/upload-artifact@v6
with:
path: build/cmder_mini.zip
name: cmder_mini.zip
- name: Upload artifact (hashes.txt)
- uses: actions/upload-artifact@v5
+ uses: actions/upload-artifact@v6
with:
path: build/hashes.txt
name: hashes.txt
@@ -245,7 +248,7 @@ jobs:
if: startsWith(github.ref, 'refs/tags/')
shell: pwsh
run: |
- @"
+ $summary = @"
---
@@ -259,4 +262,6 @@ jobs:
- File hashes (``hashes.txt``)
> โ ๏ธ Release is in **draft** mode. Please review and publish manually.
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 30052d7eb..bc9503671 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -50,7 +50,7 @@ jobs:
- name: Summary - CodeQL analysis started
shell: pwsh
run: |
- @"
+ $summary = @"
## ๐ CodeQL Security Analysis - Workflow Summary
### Analysis Configuration
@@ -62,7 +62,9 @@ jobs:
| Language | ``${{ matrix.language }}`` |
| Commit | ``${{ github.sha }}`` |
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@@ -88,12 +90,14 @@ jobs:
if: success()
shell: pwsh
run: |
- @"
+ $summary = @"
### โ
Build Completed
Cmder launcher built successfully for CodeQL analysis.
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
@@ -104,7 +108,7 @@ jobs:
if: success()
shell: pwsh
run: |
- @"
+ $summary = @"
### ๐ CodeQL Analysis Results
โ
CodeQL security analysis completed successfully.
@@ -112,4 +116,6 @@ jobs:
**Language analyzed:** ``${{ matrix.language }}``
> Check the Security tab for detailed findings and recommendations.
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 043b15860..c025e427c 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -47,7 +47,7 @@ jobs:
. scripts/utils.ps1
$cmderVersion = Get-VersionStr
- @"
+ $summary = @"
## โ
Run Tests - Workflow Summary
### Test Environment
@@ -61,7 +61,9 @@ jobs:
| PowerShell Version | **$($PSVersionTable.PSVersion)** |
| Event | ``${{ github.event_name }}`` |
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Initialize vendors
shell: pwsh
@@ -106,12 +108,14 @@ jobs:
if: success()
shell: pwsh
run: |
- @"
+ $summary = @"
### ๐ Test Results
| Test | Status | Duration |
| --- | --- | --- |
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Testing Clink Shell
id: test-clink
@@ -148,7 +152,7 @@ jobs:
if: success()
shell: pwsh
run: |
- @"
+ $summary = @"
### โ
All Tests Completed
@@ -158,4 +162,6 @@ jobs:
- โ
Clink shell environment (Windows cmd.exe with Clink)
- โ
PowerShell environment (with Cmder profile)
- โ
Bash environment (Git Bash integration)
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml
index 6bdf80496..3b1ab50e6 100644
--- a/.github/workflows/vendor.yml
+++ b/.github/workflows/vendor.yml
@@ -31,12 +31,14 @@ jobs:
- name: Summary - Workflow started
shell: pwsh
run: |
- @"
+ $summary = @"
## ๐ฆ Update Vendor - Workflow Summary
Checking for vendor dependency updates...
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- id: make-changes
name: Checking for updates
@@ -66,22 +68,24 @@ jobs:
run: |
$count = $env:COUNT_UPDATED
if ($count -eq 0) {
- @"
+ $summary = @"
### โ
No Updates Available
All vendor dependencies are up to date.
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
} else {
$word = if ($count -eq 1) { 'dependency' } else { 'dependencies' }
- @"
+ $summary = @"
### ๐ Updates Found
**$count** vendor $word updated:
$env:UPDATE_MESSAGE
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
}
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- uses: peter-evans/create-pull-request@v7
if: env.COUNT_UPDATED > 0
@@ -100,9 +104,9 @@ jobs:
if: env.COUNT_UPDATED > 0
shell: pwsh
run: |
- @"
+ $Summary = @"
### ๐ Pull Request Created
-
+
A pull request has been created to update the vendor dependencies.
**Branch:** ``update-vendor``
@@ -110,4 +114,6 @@ jobs:
**Updated dependencies:** $env:LIST_UPDATED
> Please review and merge the pull request to apply the updates.
- "@ | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2b22a1917..eca18db4c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,84 @@
# Change Log
+## [1.3.25](https://github.com/cmderdev/cmder/tree/v1.3.25) (2024-05-31)
+
+### Changes
+
+- Component Updates
+ - Update Git for Windows to 2.45.1.windows.1.
+ - Update ConEmu to 24.05.31.
+ - Clink 1.6.14.
+ - clink-completions 0.5.2.
+
+- Add `SECURITY.md` and refresh CI workflows and actions.
+- Enable `match.expand_envvars` and improve git diagnostics for improper versions.
+
+### Fixes
+
+- Fix #2944.
+- Fix script error when the working directory contains `%`.
+- Remove environment refresh race condition.
+
+## [1.3.24](https://github.com/cmderdev/cmder/tree/v1.3.24) (2023-07-24)
+
+### Changes
+
+- Update `build.yml` workflow.
+
+## [1.3.23](https://github.com/cmderdev/cmder/tree/v1.3.23) (2023-07-24)
+
+### Changes
+
+- Update ConEmu (conemu-maximus5) to 23.07.24.
+
+## [1.3.22](https://github.com/cmderdev/cmder/tree/v1.3.22) (2023-07-24)
+
+### Changes
+
+- Handle Clink injction differently in `init.bat`.
+- Changes to `clink_settings.lua.default`.
+ - Do not add commands to Clink Command Line History that begin with whitespace as a default.
+ - This can be changed to the old behavior by setting `history_ignore_space` to `0` in `config\clink_settings.lua`.
+ - `history.max_lines` is now defaults to `25000` instead of `10000`.
+ - This can be changed back to the old behavior by setting `history_max_lines` to `10000` in `config\clink_settings.lua`.
+ - `history.shared` now defaults to `False` instead of `True`.
+ - The previous default of `True` was causing issues with some users when using Cmder in multiple sessions.
+ - This can be changed back to the old behavior by setting `history_shared` to `1` in `config\clink_settings.lua`.
+
+- Component Updates
+ - Git for Windows to 2.41.0.windows.3
+ - Clink to 1.5.1
+ - ConEmu to 23.07.23
+ - clink-completions to 0.4.10
+
+- Remove AppVeyor configuration and add CodeQL scanning and Dependabot updates.
+
+### Fixes
+
+- Fix `/task ""` handling.
+- Skip clink injection when initialization fails fatally.
+- Fix errors when git/svn/hg are not installed and in profile.d PowerShell scripts.
+
+## [1.3.21](https://github.com/cmderdev/cmder/tree/v1.3.21) (2022-12-19)
+
+### Fixes
+
+- Fix #2789.
+- Fix Git Bash `GIT_INSTALL_ROOT` handling.
+
+### Changes
+
+- Refactor `clink.lua` to speed up the prompt.
+- Refactor and Cleanup `init.bat` and related scripts.
+- Refactor and Cleanup `profile.ps1` and related scripts.
+- Remove handling of `clink` and `tcc` incompatibility.
+- Update ConEmu to mitigate CVE-2022-46387.
+- Update Git for Windows to 2.39.0.windows.1 and Clink to 1.4.4.
+
+### Adds
+
+- Add `show_warning` function to `vendor\lib\lib_console.cmd` for showing warning messages in yellow.
+
## [1.3.20](https://github.com/cmderdev/cmder/tree/v1.3.20) (2022-03-18)
### Changes
diff --git a/vendor/clink.lua b/vendor/clink.lua
index 81b4d1eef..804f9c649 100644
--- a/vendor/clink.lua
+++ b/vendor/clink.lua
@@ -324,7 +324,7 @@ end
-- Find out current branch
-- @return {nil|git branch name}
---
-local function get_git_branch(git_dir)
+local function get_git_branch(git_dir, fast)
git_dir = git_dir or get_git_dir()
-- If git directory not found then we're probably outside of repo
@@ -341,8 +341,90 @@ local function get_git_branch(git_dir)
-- if HEAD matches branch expression, then we're on named branch
-- otherwise it is a detached commit
local branch_name = HEAD:match('ref: refs/heads/(.+)')
+ if os.getenv("CLINK_DEBUG_GIT_REFTABLE") then
+ branch_name = '.invalid'
+ end
+
+ -- If the branch name is ".invalid" and the fast method wasn't requested,
+ -- then invoke git.exe to get accurate current branch info (slow method).
+ if branch_name == ".invalid" and not fast then
+ local file
+ branch_name = nil
+
+ -- Handle the most common case first.
+ if not branch_name then
+ file = io_popenyield("git --no-optional-locks branch 2>nul")
+ if file then
+ for line in file:lines() do
+ local b = line:match("^%*%s+(.*)")
+ if b then
+ b = b:match("^%((HEAD detached at .*)%)") or b
+ branch_name = b
+ break
+ end
+ end
+ file:close()
+ end
+ end
+
+ -- Handle the cases where "git branch" output is empty, but "git
+ -- branch --show-current" shows the branch name (e.g. a new repo).
+ if not branch_name then
+ file = io_popenyield("git --no-optional-locks branch --show-current 2>nul")
+ if file then
+ for line in file:lines() do -- luacheck: ignore 512
+ branch_name = line
+ break
+ end
+ file:close()
+ end
+ end
+ else
+ branch_name = branch_name or 'HEAD detached at '..HEAD:sub(1, 7)
+ end
+
+ return branch_name
+end
+
+local function get_git_remote(git_dir, branch)
+ if not git_dir then return nil end
+ if not branch then return nil end
+
+ local file = io.open(git_dir.."/config", 'r')
+ if not file then return nil end
+
+ local git_config = {}
+
+ local function get_git_config_value(section, param)
+ return git_config[section] and git_config[section][param] or nil
+ end
- return branch_name or 'HEAD detached at '..HEAD:sub(1, 7)
+ local section
+ for line in file:lines() do
+ if (line:sub(1,1) == "[" and line:sub(-1) == "]") then
+ if (line:sub(2,5) == "lfs ") then
+ section = nil -- skip LFS entries as there can be many and we never use them
+ else
+ section = line:sub(2,-2)
+ git_config[section] = git_config[section] or {}
+ end
+ elseif section then
+ local param, value = line:match('^%s-([%w|_]+)%s-=%s+(.+)$')
+ if (param and value ~= nil) then
+ git_config[section][param] = value
+ end
+ end
+ end
+ file:close()
+
+ local remote_to_push = get_git_config_value('branch "'..branch..'"', 'remote') or ''
+ local remote_ref = get_git_config_value('remote "'..remote_to_push..'"', 'push') or
+ get_git_config_value('push', 'default')
+
+ local text = remote_to_push
+ if remote_ref then text = text..'/'..remote_ref end
+
+ return text ~= '' and text or nil
end
---
@@ -394,7 +476,7 @@ end
-- Get the status and conflict status of working dir
-- @return {bool , bool }
---
-local function get_git_status()
+local function get_git_status(git_dir)
local file = io_popenyield("git --no-optional-locks status --porcelain 2>nul")
if not file then
return {}
@@ -416,7 +498,10 @@ local function get_git_status()
end
file:close()
- return { status = is_status, conflict = conflict_found }
+ local branch = get_git_branch(git_dir, false--[[fast]])
+ local remote = get_git_remote(git_dir, branch)
+
+ return { status = is_status, branch = branch, remote = remote, conflict = conflict_found }
end
---
@@ -515,11 +600,11 @@ end
-- Use a prompt coroutine to get git status in the background.
-- Cache the info so we can reuse it next time to reduce flicker.
---
-local function get_git_info_table()
+local function get_git_info_table(git_dir)
local info = clink_promptcoroutine(function ()
-- Use git status if allowed.
local cmderGitStatusOptIn = get_git_status_setting()
- return cmderGitStatusOptIn and get_git_status() or {}
+ return cmderGitStatusOptIn and get_git_status(git_dir) or {}
end)
if not info then
info = cached_info.git_info or {}
@@ -539,10 +624,11 @@ local function git_prompt_filter()
local git_dir = get_git_dir()
local color
if git_dir then
- local branch = get_git_branch(git_dir)
+ local branch = get_git_branch(git_dir, true--[[fast]])
if branch then
-- If in a different repo or branch than last time, discard cached info.
- if cached_info.git_dir ~= git_dir or cached_info.git_branch ~= branch then
+ if cached_info.git_dir ~= git_dir or
+ (branch ~= ".invalid" and cached_info.git_branch ~= branch) then
cached_info.git_info = nil
cached_info.git_dir = git_dir
cached_info.git_branch = branch
@@ -550,10 +636,22 @@ local function git_prompt_filter()
-- If we're inside of git repo then try to detect current branch
-- Has branch => therefore it is a git folder, now figure out status
- local gitInfo = get_git_info_table()
+ local gitInfo = get_git_info_table(git_dir)
local gitStatus = gitInfo.status
local gitConflict = gitInfo.conflict
+ -- Compensate for git reftables.
+ branch = gitInfo.branch or branch
+ if branch == ".invalid" then
+ branch = "Loading..."
+ elseif gitInfo.remote then
+ branch = branch.." -> "..gitInfo.remote
+ end
+
+ -- Prevent an older clink-completions git_prompt.lua scripts from
+ -- modifying the prompt.
+ branch = "\x1b[10m"..branch
+
if gitStatus == nil then
color = get_unknown_color()
elseif gitStatus then
From 48cc28a634bbf6508927fdfc4913b8a72a01d042 Mon Sep 17 00:00:00 2001
From: "Dax T. Games"
Date: Sun, 22 Feb 2026 17:27:45 -0500
Subject: [PATCH 16/20] Fix yaml errors
---
.github/workflows/build.yml | 72 ++---
.github/workflows/codeql.yml | 30 +-
.github/workflows/tests.yml | 42 +--
.github/workflows/vendor.yml | 65 ++--
package-lock.json | 554 +++++++++++++++++++++++++++++++++++
package.json | 5 +
6 files changed, 664 insertions(+), 104 deletions(-)
create mode 100644 package-lock.json
create mode 100644 package.json
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d3886ec5d..c0e0a3865 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -46,7 +46,7 @@ jobs:
. scripts/utils.ps1
$cmderVersion = Get-VersionStr
$buildTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
-
+
# Determine branch link (handle PR merge refs)
$branchName = "${{ github.ref_name }}"
$branchLink = ""
@@ -61,12 +61,12 @@ jobs:
# Regular branch, link to the branch tree
$branchLink = "https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}"
}
-
+
$summary = @"
## ๐ฆ Build Cmder - Workflow Summary
-
+
Build started: $buildTime
-
+
### Repository Information
| Property | Value |
| --- | --- |
@@ -76,14 +76,14 @@ jobs:
| Actor | [@${{ github.actor }}](https://github.com/${{ github.actor }}) |
| Workflow | ``${{ github.workflow }}`` |
| Cmder Version | **$cmderVersion** |
-
+
---
-
+
### ๐ Vendor Packages
| Package | Version |
| --- | --- |
"@
-
+
# Read vendor sources.json and add to summary
$vendorSources = Get-Content "vendor/sources.json" | ConvertFrom-Json
if ($vendorSources.Count -eq 0) {
@@ -93,9 +93,9 @@ jobs:
$summary += "`n| ``$($vendor.name)`` | $($vendor.version) |"
}
}
-
+
$summary += "`n"
-
+
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Add MSBuild to PATH
@@ -111,16 +111,16 @@ jobs:
shell: pwsh
run: |
$summary = @"
-
+
---
-
+
### Build Status
-
+
โ
Cmder built successfully.
-
+
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Pack the built files
shell: pwsh
@@ -159,15 +159,15 @@ jobs:
GH_TOKEN: ${{ github.token }}
run: |
$summary = @"
-
+
---
-
+
### ๐๏ธ Artifacts
-
+
| Artifact | Size | Download | Hash (SHA256) |
| --- | --- | --- | --- |
"@
-
+
# Function to get artifact download URL with retry logic
function Get-ArtifactDownloadUrl {
param(
@@ -175,12 +175,12 @@ jobs:
[int]$MaxRetries = 3,
[int]$DelaySeconds = 2
)
-
+
for ($i = 0; $i -lt $MaxRetries; $i++) {
try {
# Use GitHub CLI to get artifact information
$artifactsJson = gh api "repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts" --jq ".artifacts[] | select(.name == `"$ArtifactName`")"
-
+
if ($artifactsJson) {
$artifact = $artifactsJson | ConvertFrom-Json
if ($artifact.archive_download_url) {
@@ -190,32 +190,32 @@ jobs:
} catch {
Write-Host "Attempt $($i + 1) failed to get artifact URL for $ArtifactName : $_"
}
-
+
if ($i -lt ($MaxRetries - 1)) {
Start-Sleep -Seconds $DelaySeconds
}
}
-
+
return $null
}
-
+
$artifacts = @("cmder.zip", "cmder.7z", "cmder_mini.zip", "hashes.txt")
foreach ($artifact in $artifacts) {
$path = "build/$artifact"
if (Test-Path $path) {
$size = (Get-Item $path).Length / 1MB
$hash = (Get-FileHash $path -Algorithm SHA256).Hash
-
+
# Try to get the actual artifact download URL
$downloadUrl = Get-ArtifactDownloadUrl -ArtifactName $artifact
$warning = ""
-
+
if (-not $downloadUrl) {
# Fallback to workflow run page if artifact URL fetch fails
$downloadUrl = "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
$warning = " โ ๏ธ"
}
-
+
# Determine emoji based on file type
if ($artifact -match '\.txt$') {
$emoji = "๐"
@@ -224,12 +224,12 @@ jobs:
} else {
$emoji = "๐ฆ"
}
-
+
$summary += "`n| $emoji ``$artifact`` | $([math]::Round($size, 2)) MB | [๐ฅ Download$warning]($downloadUrl) | ``$hash`` |"
}
}
$summary += "`n"
-
+
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Create Release
@@ -249,19 +249,19 @@ jobs:
shell: pwsh
run: |
$summary = @"
-
+
---
-
+
### Release Information
-
+
๐ Draft release created for tag: **``${{ github.ref_name }}``**
-
+
Release includes:
- Full version (``cmder.zip``, ``cmder.7z``)
- Mini version (``cmder_mini.zip``)
- File hashes (``hashes.txt``)
-
+
> โ ๏ธ Release is in **draft** mode. Please review and publish manually.
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index bc9503671..c0202c1fc 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -52,19 +52,19 @@ 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 -Encoding utf8
+
+ "@
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@@ -92,12 +92,12 @@ jobs:
run: |
$summary = @"
### โ
Build Completed
-
+
Cmder launcher built successfully for CodeQL analysis.
-
+
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
@@ -110,12 +110,12 @@ jobs:
run: |
$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 -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index c025e427c..1e1edd163 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -46,10 +46,10 @@ jobs:
# Get Cmder version
. scripts/utils.ps1
$cmderVersion = Get-VersionStr
-
+
$summary = @"
## โ
Run Tests - Workflow Summary
-
+
### Test Environment
| Property | Value |
| --- | --- |
@@ -60,10 +60,10 @@ jobs:
| Cmder Version | **$cmderVersion** |
| PowerShell Version | **$($PSVersionTable.PSVersion)** |
| Event | ``${{ github.event_name }}`` |
-
+
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Initialize vendors
shell: pwsh
@@ -85,23 +85,23 @@ jobs:
$vendorInfo += "- **$dir**: $($version.Trim())"
}
}
-
+
$summary = @"
### โ๏ธ Vendor Initialization
-
+
โ
Vendor dependencies initialized successfully.
-
+
**Vendor Versions:**
+ "@
+
$(
if ($vendorInfo.Count -eq 0) {
- "_No vendor version information available._"
+ $summary += "_No vendor version information available._"
} else {
- $vendorInfo -join "`n"
+ $summary += $vendorInfo -join '`n'
}
)
-
- "@
-
+
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Summary - Test results table header
@@ -110,12 +110,12 @@ jobs:
run: |
$summary = @"
### ๐ Test Results
-
+
| Test | Status | Duration |
| --- | --- | --- |
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Testing Clink Shell
id: test-clink
@@ -153,15 +153,15 @@ jobs:
shell: pwsh
run: |
$summary = @"
-
+
### โ
All Tests Completed
-
+
All shell environments tested successfully!
-
+
**Test Coverage:**
- โ
Clink shell environment (Windows cmd.exe with Clink)
- โ
PowerShell environment (with Cmder profile)
- โ
Bash environment (Git Bash integration)
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/.github/workflows/vendor.yml b/.github/workflows/vendor.yml
index 3b1ab50e6..96c78fe9c 100644
--- a/.github/workflows/vendor.yml
+++ b/.github/workflows/vendor.yml
@@ -33,35 +33,36 @@ jobs:
run: |
$summary = @"
## ๐ฆ Update Vendor - Workflow Summary
-
+
Checking for vendor dependency updates...
-
+
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- id: make-changes
name: Checking for updates
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
- $currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
- . .\scripts\update.ps1 -verbose
- Set-GHVariable -Name COUNT_UPDATED -Value $count
- $newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
- $listUpdated = ""
- $updateMessage = "| Name | Old Version | New Version |`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"
- $listUpdated += "$($s.name) v$($s.version), "
- $updateMessage += "| **[$($s.name)]($repoUrl)** | $oldVersion | **$($s.version)** |`n"
- }
+ $currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
+ . .\scripts\update.ps1 -verbose
+ Set-GHVariable -Name COUNT_UPDATED -Value $count
+ $newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
+ $listUpdated = ""
+ $updateMessage = "| Name | Old Version | New Version |`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"
+ $listUpdated += "$($s.name) v$($s.version), "
+ $updateMessage += "| **[$($s.name)]($repoUrl)** | $oldVersion | **$($s.version)** |`n"
}
- if ($count -eq 0) { return }
- Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ')
- echo "UPDATE_MESSAGE<< 0
@@ -106,14 +107,14 @@ jobs:
run: |
$Summary = @"
### ๐ Pull Request Created
-
+
A pull request has been created to update the vendor dependencies.
-
+
**Branch:** ``update-vendor``
-
+
**Updated dependencies:** $env:LIST_UPDATED
-
+
> Please review and merge the pull request to apply the updates.
"@
-
- $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
+
+ $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 000000000..d7af3183e
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,554 @@
+{
+ "name": "fix-github-step-summary",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "dependencies": {
+ "yaml-lint": "^1.7.0"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "license": "Python-2.0"
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+ "license": "MIT"
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
+ },
+ "node_modules/consola": {
+ "version": "2.15.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
+ "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
+ "license": "MIT"
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/ini": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
+ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/nconf": {
+ "version": "0.12.1",
+ "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.1.tgz",
+ "integrity": "sha512-p2cfF+B3XXacQdswUYWZ0w6Vld0832A/tuqjLBu3H1sfUcby4N2oVbGhyuCkZv+t3iY3aiFEj7gZGqax9Q2c1w==",
+ "license": "MIT",
+ "dependencies": {
+ "async": "^3.0.0",
+ "ini": "^2.0.0",
+ "secure-keys": "^1.0.0",
+ "yargs": "^16.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/secure-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
+ "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg==",
+ "license": "MIT"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yaml-lint": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.7.0.tgz",
+ "integrity": "sha512-zeBC/kskKQo4zuoGQ+IYjw6C9a/YILr2SXoEZA9jM0COrSwvwVbfTiFegT8qYBSBgOwLMWGL8sY137tOmFXGnQ==",
+ "license": "MIT",
+ "dependencies": {
+ "consola": "^2.15.3",
+ "globby": "^11.1.0",
+ "js-yaml": "^4.1.0",
+ "nconf": "^0.12.0"
+ },
+ "bin": {
+ "yamllint": "dist/cli.js"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 000000000..352dad848
--- /dev/null
+++ b/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "yaml-lint": "^1.7.0"
+ }
+}
From 68586196149bd3a6d9f08da87866bbb180034133 Mon Sep 17 00:00:00 2001
From: "Dax T. Games"
Date: Sun, 22 Feb 2026 17:56:27 -0500
Subject: [PATCH 17/20] x
---
.github/workflows/tests.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 1e1edd163..8f85d9d25 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -39,6 +39,8 @@ jobs:
steps:
- uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
- name: Summary - Test execution started
shell: pwsh
From 6137073ba35ef8ee946184f510817652adb19e61 Mon Sep 17 00:00:00 2001
From: "Dax T. Games"
Date: Sun, 22 Feb 2026 17:58:59 -0500
Subject: [PATCH 18/20] fix path to sources.json
---
.github/workflows/tests.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 8f85d9d25..8a079a6ce 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -78,7 +78,7 @@ jobs:
run: |
# Get vendor versions from sources.json
$vendorInfo = @()
- $sources = Get-Content "sources.json" -Raw | ConvertFrom-Json
+ $sources = Get-Content "vendor\sources.json" -Raw | ConvertFrom-Json
$vendorDirs = $sources.PSObject.Properties | ForEach-Object { $_.Name }
foreach ($dir in $vendorDirs) {
$versionFile = "vendor/$dir/.cmderver"
From 66ab9ad6f7bbf918f977b09cb81efc373a14ffa4 Mon Sep 17 00:00:00 2001
From: "Dax T. Games"
Date: Sun, 22 Feb 2026 18:11:34 -0500
Subject: [PATCH 19/20] remove nodejs files
---
package-lock.json | 554 ----------------------------------------------
package.json | 5 -
2 files changed, 559 deletions(-)
delete mode 100644 package-lock.json
delete mode 100644 package.json
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index d7af3183e..000000000
--- a/package-lock.json
+++ /dev/null
@@ -1,554 +0,0 @@
-{
- "name": "fix-github-step-summary",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "dependencies": {
- "yaml-lint": "^1.7.0"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "license": "Python-2.0"
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/async": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
- "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
- "license": "MIT"
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "license": "MIT"
- },
- "node_modules/consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
- "license": "MIT"
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fastq": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
- "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/nconf": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.1.tgz",
- "integrity": "sha512-p2cfF+B3XXacQdswUYWZ0w6Vld0832A/tuqjLBu3H1sfUcby4N2oVbGhyuCkZv+t3iY3aiFEj7gZGqax9Q2c1w==",
- "license": "MIT",
- "dependencies": {
- "async": "^3.0.0",
- "ini": "^2.0.0",
- "secure-keys": "^1.0.0",
- "yargs": "^16.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/reusify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/secure-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
- "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg==",
- "license": "MIT"
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yaml-lint": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.7.0.tgz",
- "integrity": "sha512-zeBC/kskKQo4zuoGQ+IYjw6C9a/YILr2SXoEZA9jM0COrSwvwVbfTiFegT8qYBSBgOwLMWGL8sY137tOmFXGnQ==",
- "license": "MIT",
- "dependencies": {
- "consola": "^2.15.3",
- "globby": "^11.1.0",
- "js-yaml": "^4.1.0",
- "nconf": "^0.12.0"
- },
- "bin": {
- "yamllint": "dist/cli.js"
- }
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "license": "MIT",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- }
- }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index 352dad848..000000000
--- a/package.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "dependencies": {
- "yaml-lint": "^1.7.0"
- }
-}
From 0c6b2d9900da906cf87b08af97430ff67e93c5df Mon Sep 17 00:00:00 2001
From: "Dax T. Games"
Date: Sun, 22 Feb 2026 13:45:47 -0500
Subject: [PATCH 20/20] Add back comments
---
.github/dependabot.yml | 5 +++++
1 file changed, 5 insertions(+)
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