PraisonAI
PraisonAI copied to clipboard
fix: Enhance release workflow and setup script reliability
Purpose
This PR improves two critical components of our project:
- The
release.yml
workflow that handles our automated release process - The
setup.sh
script that manages our development environment
Understanding Key Components
setup.sh
The setup.sh
script is our primary setup and development tool. It handles:
-
Environment Setup
- Creates and configures Python virtual environment
- Installs required dependencies
- Sets up development tools
-
Framework Configuration
- Configures CrewAI and AutoGen frameworks
- Sets up API keys and endpoints
-
Testing Environment
# Run full setup with tests ./setup.sh --all --cicd # Run specific framework setup ./setup.sh --framework crewai ./setup.sh --framework autogen
-
Key Options
-
--all
: Install all dependencies -
--cicd
: Run in CI/CD mode (non-interactive) -
--framework
: Specify framework (crewai/autogen) -
--help
: Show all available options
-
release.yml
The release.yml
workflow handles our release process and ensures synchronization between forks and the upstream repository.
-
Purpose
- Automates release creation
- Ensures test coverage
- Synchronizes tags between repositories
- Maintains version consistency
-
Key Features
- Multi-OS testing (Ubuntu 22.04 and 24.04)
- Framework-specific testing
- API rate limiting protection
- Secure token handling
-
Workflow Steps
# Trigger workflow gh workflow run release.yml -f tag=v2.0.10 -f fork_owner=yourusername
-
Testing Process
- Basic functionality tests
- Framework-specific features
- Core functionality
- Agent generation
- Custom tools integration