fix(core): add VERSION file handling and comprehensive test coverage

This commit fixes version management and argument parsing issues across
both Windows and Linux/macOS platforms, achieving 100% test coverage.

Changes:
- Add VERSION file installation to both installers (install.sh, install.ps1)
- Fix version/help command detection when using 'powershell -File' syntax
- Rename PowerShell param from $Profile to $ProfileOrFlag for clarity
- Add $FirstArg detection to check both ProfileOrFlag and RemainingArgs
- Create comprehensive edge case test suites for both platforms:
  * tests/edge-cases.ps1 - 31 tests for Windows (100% pass)
  * tests/edge-cases.sh - 37 tests for Linux/macOS (100% pass)
- Fix multiline regex matching in tests for error messages
- Update test expectations to match platform-specific behavior
- Reorganize project structure:
  * Move installers to installers/ directory
  * Add scripts/ directory for version management
  * Add config/ directory for configuration templates
  * Add docs/ directory for documentation

Test Results:
- Windows (PowerShell): 31/31 tests passing (100%)
- Linux/macOS (Bash): 37/37 tests passing (100%)

Breaking Changes: None
- Installers moved but GitHub URLs updated in README files
- All existing functionality preserved

Co-authored-by: Claude Code <claude@anthropic.com>
This commit is contained in:
kaitranntt
2025-11-02 20:27:45 -05:00
co-authored by Claude Code
parent 7bd2e9e4ba
commit e9eb215d1f
24 changed files with 2392 additions and 484 deletions
+28
View File
@@ -0,0 +1,28 @@
name: Deploy CCS CloudFlare Worker
on:
push:
branches: [main]
paths:
- 'scripts/worker.js'
- 'installers/**'
# Allow manual trigger
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy ccs-installer to CloudFlare
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy Worker
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
workingDirectory: scripts
command: deploy worker.js --name ccs-installer