PraisonAI icon indicating copy to clipboard operation
PraisonAI copied to clipboard

fix: Enhance release workflow and setup script reliability

Open tosin2013 opened this issue 1 month ago • 1 comments

Purpose

This PR improves two critical components of our project:

  1. The release.yml workflow that handles our automated release process
  2. 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:

  1. Environment Setup

    • Creates and configures Python virtual environment
    • Installs required dependencies
    • Sets up development tools
  2. Framework Configuration

    • Configures CrewAI and AutoGen frameworks
    • Sets up API keys and endpoints
  3. Testing Environment

    # Run full setup with tests
    ./setup.sh --all --cicd
    
    # Run specific framework setup
    ./setup.sh --framework crewai
    ./setup.sh --framework autogen
    
  4. 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.

  1. Purpose

    • Automates release creation
    • Ensures test coverage
    • Synchronizes tags between repositories
    • Maintains version consistency
  2. Key Features

    • Multi-OS testing (Ubuntu 22.04 and 24.04)
    • Framework-specific testing
    • API rate limiting protection
    • Secure token handling
  3. Workflow Steps

    # Trigger workflow
    gh workflow run release.yml -f tag=v2.0.10 -f fork_owner=yourusername
    
  4. Testing Process

    • Basic functionality tests
    • Framework-specific features
    • Core functionality
    • Agent generation
    • Custom tools integration

tosin2013 avatar Dec 29 '24 23:12 tosin2013