Skip to content

Conversation

@pamaforce
Copy link
Contributor

@pamaforce pamaforce commented Jan 12, 2026

Summary

This update improves the Python deployment process, adds comprehensive E2E and unit tests, and refines tool behavior based on real-world usage.

Deployment Enhancements

Python Dependency Installation

  • Handle 'Dequeued' status correctly as an intermediate state
  • Explicitly trigger CreateDependencyInstallTask before polling
  • Increase timeout to 300 seconds for dependency installation
  • Refactor release_function to reuse SDK wait_for_dependency_install logic

Script Permissions

  • Preserve original file permissions when packaging
  • Proactively grant 755 to script files (.sh, .bash, .py, .pl, .rb)
  • Fixes 'Permission denied' errors for run.sh

Configuration Management

  • Add vefaas.yaml to DEFAULT_VEFAASIGNORE
  • Save config in update_function when project_path is provided
  • Fix NAME_CONFLICT error messages to require user decision

Tool Behavior Improvements

update_function

  • Refined next_step message to not auto-trigger release_function
  • Gives user control over when to publish changes

release_function

  • Enhanced to correctly handle Dequeued status
  • Reuses SDK dependency waiting logic for consistency

Code Quality

Cleanup

  • Removed all debugging logger.debug statements
  • Translated Chinese comments to English
  • Fixed deprecated pathspec 'gitwildmatch' -> 'gitignore'

Tests

E2E Tests (tests/test_e2e.py)

  • Application Workflow (Python/Node.js): Deploy + Update + Redeploy
  • Function Local Dev (Python/Node.js): Deploy + Update Code + Release

Unit Tests (tests/test_unit.py) - 18 tests

  • Package directory and ignore patterns
  • Caddyfile generation
  • Project detection (FastAPI, Flask, Vite)
  • Configuration read/write
  • App name generation

Test Results

All 4 E2E tests and 18 unit tests passed:

image image

@pamaforce pamaforce force-pushed the main branch 2 times, most recently from 9e1c328 to 6d01cc8 Compare January 12, 2026 05:43
## Summary

This update improves the Python deployment process, adds comprehensive
E2E and unit tests, and refines tool behavior based on real-world usage.

## Deployment Enhancements

### Python Dependency Installation
- Handle 'Dequeued' status correctly as an intermediate state
- Explicitly trigger CreateDependencyInstallTask before polling
- Increase timeout to 300 seconds for dependency installation
- Refactor release_function to reuse SDK wait_for_dependency_install logic

### Script Permissions
- Preserve original file permissions when packaging
- Proactively grant 755 to script files (.sh, .bash, .py, .pl, .rb)
- Fixes 'Permission denied' errors for run.sh

### Configuration Management
- Add vefaas.yaml to DEFAULT_VEFAASIGNORE
- Save config in update_function when project_path is provided
- Fix NAME_CONFLICT error messages to require user decision

## Tool Behavior Improvements

### update_function
- Refined next_step message to not auto-trigger release_function
- Gives user control over when to publish changes

### release_function
- Enhanced to correctly handle Dequeued status
- Reuses SDK dependency waiting logic for consistency

## Code Quality

### Cleanup
- Removed all debugging logger.debug statements
- Translated Chinese comments to English
- Fixed deprecated pathspec 'gitwildmatch' -> 'gitignore'

## Tests

### E2E Tests (tests/test_e2e.py)
- Application Workflow (Python/Node.js): Deploy + Update + Redeploy
- Function Local Dev (Python/Node.js): Deploy + Update Code + Release

### Unit Tests (tests/test_unit.py) - 18 tests
- Package directory and ignore patterns
- Caddyfile generation
- Project detection (FastAPI, Flask, Vite)
- Configuration read/write
- App name generation
@ZhengfengGao ZhengfengGao merged commit d94332f into volcengine:main Jan 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants