name: 'Buster Deploy' description: 'Deploy semantic models to Buster using the CLI' author: 'Buster' branding: icon: 'upload-cloud' color: 'green' inputs: directory: description: 'Directory containing buster.yml and models to deploy' required: false default: '.' environment: description: 'Target environment for deployment (e.g., production, staging)' required: false default: '' verbose: description: 'Enable verbose output' required: false default: 'false' runs: using: 'composite' steps: - name: Require Buster CLI shell: bash run: | if ! command -v buster &>/dev/null && ! command -v buster.exe &>/dev/null; then echo "❌ Buster CLI not found. Please install with buster-so/buster-actions/install first." exit 1 fi - name: Deploy to Buster shell: bash working-directory: ${{ inputs.directory }} run: | set -e if [[ -z "$BUSTER_API_KEY" ]]; then echo "❌ Missing BUSTER_API_KEY env var" exit 1 fi CMD="buster deploy" [[ -n "${{ inputs.environment }}" ]] && CMD="$CMD --environment ${{ inputs.environment }}" [[ "${{ inputs.verbose }}" == "true" ]] && CMD="$CMD --verbose" echo "Running: $CMD" $CMD