Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive support for build-based projects (Vite/React/etc.) to both the Node.js and Python CLI tools, enabling users to deploy only their build output folders. Additionally, it introduces a complete CI/CD pipeline with GitHub Actions workflows for automated testing and publishing.
Key Changes:
- Added "build" project type that deploys only the contents of a specified build folder (dist/build)
- Introduced GitHub Actions workflows for testing packages across multiple OS/runtime versions and automated publishing to npm/PyPI
- Bumped both CLI packages to version 0.2.0
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| ufazien-cli-py/src/ufazien/utils.py | Added create_zip_from_folder function to zip specific build folders |
| ufazien-cli-py/src/ufazien/project.py | Added create_build_project_structure and updated .ufazienignore template with build project guidance |
| ufazien-cli-py/src/ufazien/cli.py | Integrated build project type with prompts, conditional zipping, and deployment logic |
| ufazien-cli-py/pyproject.toml | Version bump to 0.2.0 |
| ufazien-cli-py/.gitignore | Added test/ directory to ignore list |
| ufazien-cli-js/src/zip.ts | Added createZipFromFolder function for build folder zipping |
| ufazien-cli-js/src/utils.ts | Extended WebsiteConfig interface with optional build_folder field |
| ufazien-cli-js/src/project.ts | Added createBuildProjectStructure and updated .ufazienignore template |
| ufazien-cli-js/src/cli.ts | Integrated build project type with prompts and conditional deployment logic |
| ufazien-cli-js/package.json | Version bump to 0.2.0 |
| ufazien-cli-js/.gitignore | Added test/ directory to ignore list |
| .github/workflows/test_python_pkg.yml | Added workflow to test Python package across multiple OS and Python versions |
| .github/workflows/test_npm_package.yml | Added workflow to test npm package across multiple OS and Node.js versions |
| .github/workflows/release.yml | Added workflow to create GitHub releases with package version info |
| .github/workflows/publish_python_pkg.yml | Added workflow to publish Python package to PyPI on release |
| .github/workflows/publish_npm_pkg.yml | Added workflow to publish npm package to npm registry on release |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the Ufazien CLI tools and their CI/CD workflows. The main focus is the addition of first-class support for "build" projects (such as those built with Vite or React), enhancements to the deployment process, and the introduction of robust GitHub Actions workflows for testing, releasing, and publishing both the Node.js and Python CLI packages. Additionally, both CLIs are updated to version 0.2.0.
Build Project Support and Deployment Enhancements
distorbuild) for deployment. The CLI now prompts for the build folder, generates a tailored project structure and README, and only deploys the contents of the specified build folder. (ufazien-cli-js/src/cli.ts,ufazien-cli-js/src/project.ts,ufazien-cli-js/src/zip.ts,ufazien-cli-js/src/utils.ts,ufazien-cli-py/src/ufazien/cli.py) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]GitHub Actions Workflows
.github/workflows/test_npm_package.yml,.github/workflows/test_python_pkg.yml,.github/workflows/publish_npm_pkg.yml,.github/workflows/publish_python_pkg.yml,.github/workflows/release.yml) [1] [2] [3] [4] [5]Version Bumps
ufazien-cli-js/package.json,ufazien-cli-py/pyproject.toml) [1] [2]Project Structure and Ignore Files
.gitignorefiles to ignore build and test outputs, ensuring cleaner repositories. (ufazien-cli-js/.gitignore,ufazien-cli-py/.gitignore) [1] [2]Build Project Support (CLI and Project Structure):
README.mdand updated.ufazienignoreguidance for build projects. [1] [2]CI/CD and Automation:
Versioning:
Repository Maintenance:
.gitignorefiles to exclude build and test artifacts. [1] [2]Closes #1