TDengine/.github/workflows
haoranchen 6e2bc39a25
enh: 3.0 support win tdgpt (#34763)
* feat: Windows adaptation with winsw service registration and bilingual documentation

* fix: remove unused global declaration in parse_arguments function

* style: fix code quality issues detected by ruff

- Remove unused imports (pathlib.Path, json, torch, keras)
- Fix f-string without placeholders
- Remove unused variables (proc)
- Fix indentation errors
- Clean up trailing whitespace and blank lines
- Fix line length issues (>120 chars)
- Add noqa comments for intentional violations

* chore: remove obsolete taosanode.ini configuration file

* refactor: extract ISS and XML templates to separate files

- Move Inno Setup script to templates/tdgpt.iss
- Move WinSW config to templates/taosanode-service.xml
- Implement local WinSW.exe caching (packaging/bin/)
- Add .gitignore to exclude cached binaries
- Simplify win_release.py by using template files

Benefits:
- Easier to maintain ISS and XML files
- No need to escape quotes in Python
- WinSW binary cached locally for faster builds
- Better separation of concerns

* refactor: rename templates to installer and consolidate gitignore

- Rename packaging/templates/ to packaging/installer/ (more descriptive)
- Remove tools/tdgpt/.gitignore (redundant)
- Add WinSW.exe exclusion to community/.gitignore
- Update win_release.py to use new directory name

The 'installer' name better reflects the content:
- tdgpt.iss: Inno Setup installer script
- taosanode-service.xml: Windows service configuration

* fix: improve packaging script robustness

1. Fix GBK encoding issue in install.bat
   - Replace ✓ symbol with [OK] text
   - Prevents crash on Windows with GBK encoding

2. Make model directory optional in ISS
   - Add 'skipifsourcedoesntexist' flag
   - Allow packaging without model files

3. Remove ZIP fallback logic
   - Fail fast if Inno Setup compilation fails
   - Return proper exit code (1) on failure
   - Provide clear error messages

4. Remove unused zipfile import

These changes ensure the packaging script fails clearly
when prerequisites are missing, rather than silently
creating incomplete packages.

* fix: revert model directory to required and add validation

Model directory is REQUIRED for Windows production packaging,
not optional. The previous 'skipifsourcedoesntexist' was only
meant for testing purposes.

Changes:
- Revert ISS to require model directory with DirExists check
- Add validation in win_release.py before building
- Provide clear error message with usage example
- Fail fast if model directory is missing or empty

This ensures users get clear feedback when model files
are missing, rather than cryptic Inno Setup errors.

* feat: add --skip-model-check for testing workflow

Add flexible model validation to support both testing and production:

Testing mode (--skip-model-check):
- Skip model validation for quick testing
- ISS uses 'skipifsourcedoesntexist' to allow empty model dir
- Shows warning that this is for testing only

Production mode (default):
- Validates model directory exists and has files
- Checks for required files: timemoe.tar.gz, tdtsfm.tar.gz
- Fails with clear error if requirements not met
- Ensures production packages always have models

Usage:
  # Testing (no models needed)
  python win_release.py -e community -v 3.3.6.0 --skip-model-check

  # Production (models required)
  python win_release.py -e community -v 3.3.6.0 -m /path/to/models

* fix: update model paths in README-CN for packaging instructions

* docs: update packaging documentation with --skip-model-check

Add documentation for the new --skip-model-check parameter:

- Explain testing vs production modes
- Document required model files (timemoe.tar.gz, tdtsfm.tar.gz)
- Update usage examples to show both modes
- Add warning that --skip-model-check is for testing only
- Update parameter table with new option

Both English and Chinese documentation updated.

* enh:add installation, uninstallation, and log viewer scripts for TDGPT on Windows

* enh: auto-detect installation directory and update paths for Windows compatibility

* Refactor and localize logging and service management in TDGPT

- Removed the log_viewer.py script as it is no longer needed.
- Updated taosanode_service.py to improve cross-platform support and logging consistency.
- Changed log file names to unify logging across services.
- Enhanced uninstall.py for better user experience and clearer output messages.
- Improved uninstall.sh to preserve local configuration while removing global config.

* feat: add Windows installation script and documentation for TDGPT

* fix: update version number in packaging scripts and documentation to 3.4.0.11

* Refactor taosanode service logging and Windows service management

- Introduced a dedicated service log file for taosanode.
- Added functionality to redirect stdout/stderr to a specified file when running under WinSW.
- Updated virtual environment paths to be more organized under a 'venvs' directory.
- Enhanced the uninstall script to improve logging and user feedback.
- Streamlined the removal of files and directories during uninstallation.
- Adjusted configuration paths to align with the new directory structure.
- Improved test configuration to reflect changes in virtual environment paths.

* Refactor taosanode_service.py to improve model management and logging

- Updated model-start command help text for clarity.
- Introduced DEFAULT_MODEL_ORDER for consistent model ordering.
- Added support for loading enabled models from a configuration file.
- Adjusted model configurations for moirai and moment to use smaller default models.
- Enhanced model startup and shutdown processes to skip missing directories and log detailed summaries.
- Improved status reporting for running models.
- Refactored uninstall.py to handle logging based on environment variable.
- Made torch and keras imports optional in conf.py to avoid runtime errors if not available.

* feat: add Python version check and error handling to installer scripts

* fix: update model installation options and logic in installer script

* fix(tdgpt): restore windows startup diagnostics

* fix(tdgpt): limit winsw restart retries

* fix(tdgpt): reuse healthy venvs on online install

* fix(tdgpt): retry progress file writes on windows

* fix(tdgpt): switch installer progress to append-only log

* fix(tdgpt): raise installer disk space estimate

* fix(tdgpt): rebuild incomplete reused main venv

* fix(tdgpt): add detailed startup dependency probes

* fix(tdgpt): improve reinstall and startup diagnostics

* fix(tdgpt): require vc++ runtime before install

* feat(tdgpt): default start-model to all

* feat(tdgpt): confirm existing install directory

* fix(tdgpt): stop winsw before reinstall

* fix(tdgpt): retry rate-limited model downloads

* fix(tdgpt): reuse existing online model directories

* feat(tdgpt): prefer offline model install flow

* feat(tdgpt): update model ports and enhance installation logging

* feat(tdgpt): enhance taosanode startup process and readiness checks

* fix(tdgpt): improve logger setup to handle non-writable log directories

* feat(tdgpt): update dependency installation and enhance logging configuration for GitHub Actions

* feat(tdgpt): enhance Windows and GitHub Actions compatibility in taosanode configuration

* fix(tdgpt): correct model service start assertion for missing required model

* docs(tdgpt): update installation and usage documentation for clarity and consistency

* chore: remove outdated documentation files for doc-writing skill

---------

Co-authored-by: support-platform <it@taosdata.com>
2026-03-23 20:54:15 +08:00
..
arc-deploy-daily-tsdb-env.yml fix: update cron schedule (#34884) 2026-03-21 11:29:28 +08:00
cancel-workflow-on-merge.yml Update .github/workflows/cancel-workflow-on-merge.yml 2025-04-09 15:34:49 +08:00
deploy-case-docs.yml generate shell case description 2025-10-28 14:54:55 +08:00
issue-triage.lock.yml Add agentic workflow issue-triage 2026-02-24 18:10:48 +08:00
issue-triage.md chore: add blank line at end of file 2026-02-24 18:14:27 +08:00
label-pr-by-team.yml Merge branch 'main' into merge/mainto3.0 2025-05-09 09:19:07 +08:00
new-framework-test.yml Update new-framework-test.yml 2026-02-02 14:02:47 +08:00
new-tdgpt-test.yml enh: 3.0 support win tdgpt (#34763) 2026-03-23 20:54:15 +08:00
taoskeeper-audit.yml chore(keeper): upgrade dependencies to resolve vulnerability issues (#34545) 2026-02-10 15:08:29 +08:00
taoskeeper-test-enterprise.yml enh(keeper): password information desensitization processing (#34458) 2026-02-04 17:05:29 +08:00
taoskeeper-test.yml enh(keeper): password information desensitization processing (#34458) 2026-02-04 17:05:29 +08:00
tdengine-build.yml enh: add new-framework-test.yml to workflow exclusions (#34750) 2026-03-11 16:18:44 +08:00
tdengine-check-enum.yml fix: update branch references to 3.3.8 in workflow files (#34192) 2026-01-07 15:41:21 +08:00
tdengine-docs-ci.yml enh: 3.0 support win tdgpt (#34763) 2026-03-23 20:54:15 +08:00
tdengine-release-build.yml fix: update taosKeeper dependencies and add govulncheck workflow for automated vulnerability scanning (#34428) 2026-01-28 20:10:07 +08:00
tdengine-test-coverage.yml test: update default coverage branch (#33920) 2025-12-14 16:11:58 +08:00
tdengine-test.yml Revert "docs: move udf sample code to examples (#33877)" (#33881) 2025-12-10 17:28:46 +08:00
tdgpt-update-service.yml fix: use variable for TDGpt version in packaging step 2025-04-10 12:17:13 +08:00
weekly-report.lock.yml Add weekly repository report GitHub Agentic Workflow (#34709) 2026-03-08 14:59:17 +08:00
weekly-report.md Add weekly repository report GitHub Agentic Workflow (#34709) 2026-03-08 14:59:17 +08:00