From 1de8589a5a27bfabda542e5844e496de9e2359d5 Mon Sep 17 00:00:00 2001 From: libing0526 Date: Sat, 18 Oct 2025 22:40:19 +0800 Subject: [PATCH 1/3] feat(lang): optimize GitHub language detection --- .gitattributes | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..72d03a7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,42 @@ +# Language detection configuration +# Mark NSIS toolchain files as vendored to exclude from language stats + +# NSIS toolchain directories - mark as vendored +installer/NSIS/** linguist-vendored +installer/NSIS/Contrib/** linguist-vendored +installer/NSIS/Include/** linguist-vendored +installer/NSIS/Plugins/** linguist-vendored + +# NSIS language files - mark as vendored +installer/NSIS/Contrib/Language\ files/** linguist-vendored + +# Other installer-related vendored files +installer/7z.dll linguist-vendored +installer/7z.exe linguist-vendored +installer/NSIS.chm linguist-vendored + +# Documentation files +*.md linguist-documentation +*.doc linguist-documentation +*.chm linguist-documentation +*.txt linguist-documentation + +# Resource files - exclude from language stats +*.png linguist-vendored +*.bmp linguist-vendored +*.ico linguist-vendored +*.xml linguist-vendored +*.rtf linguist-vendored + +# Ensure C++ code is properly detected +src/**/*.cpp linguist-language=C++ +src/**/*.h linguist-language=C++ + +# Ensure CMake files are properly detected +*.cmake linguist-language=CMake +CMakeLists.txt linguist-language=CMake + +# Keep project's own NSIS scripts +installer/SetupScripts/nim/nim_setup.nsi linguist-language=NSIS +installer/SetupScripts/commonfunc.nsh linguist-language=NSIS +installer/SetupScripts/nim/ui_nim_setup.nsh linguist-language=NSIS From 463d8c1427b9c7f5bfae81873d717b4542cdc245 Mon Sep 17 00:00:00 2001 From: libing0526 Date: Sat, 18 Oct 2025 22:40:49 +0800 Subject: [PATCH 2/3] fix(lang): simplify gitattributes patterns --- .gitattributes | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.gitattributes b/.gitattributes index 72d03a7..62bd2c9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,12 +3,6 @@ # NSIS toolchain directories - mark as vendored installer/NSIS/** linguist-vendored -installer/NSIS/Contrib/** linguist-vendored -installer/NSIS/Include/** linguist-vendored -installer/NSIS/Plugins/** linguist-vendored - -# NSIS language files - mark as vendored -installer/NSIS/Contrib/Language\ files/** linguist-vendored # Other installer-related vendored files installer/7z.dll linguist-vendored From 8e6c4f8f4426cb1eb39570b1e497113f6a0b8650 Mon Sep 17 00:00:00 2001 From: libing0526 Date: Sat, 18 Oct 2025 22:46:43 +0800 Subject: [PATCH 3/3] feat(ci): auto-detect version from git tags --- .github/workflows/c-cpp.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 22bcb3e..4594ecf 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -111,9 +111,18 @@ jobs: # Get current date for versioning $date = Get-Date -Format "yyyyMMdd" $time = Get-Date -Format "HHmm" - $version = "1.0.0" $datetime = "${date}_${time}" + # Get version from git tag or use default + $gitTag = git describe --tags --exact-match HEAD 2>$null + if ($gitTag -and $gitTag -match '^v?(.+)$') { + $version = $matches[1] + Write-Host "Using version from git tag: $version" + } else { + $version = "1.0.0" + Write-Host "No git tag found, using default version: $version" + } + # Create package directory New-Item -ItemType Directory -Path "release" -Force