-
Notifications
You must be signed in to change notification settings - Fork 73
Description
Contact Email
Type of Contribution
Feature Request
Product
SuiteCloud CLI
Contribution Description
We propose adding automation features to the CLI for versioning and upgrading SuiteApp projects (sacc:version, sacc:upgrade, etc.).
This would enable these actions to be executed programmatically, streamlining the development lifecycle. These enhancements would support hooks for Git merges and other automation tools, ensuring a seamless deployment process.
Prerequisites
Yes
Additional Information
Feature Request Details
Problem Statement
Manually running sacc:version
, sacc:upgrade
, and related commands introduces inefficiencies and potential errors when publishing SuiteApp projects. Developers need an automated way to execute these commands as part of their CI/CD pipelines.
Proposed Solution
Introduce new CLI options or configuration settings that allow developers to automate publishing actions. Suggested capabilities include:
- Automated Versioning: Allow
sacc:version
to accept parameters for automatic version increments (major/minor/patch) based on conventional commits or other versioning strategies. - Automated Upgrade Execution: Enable
sacc:upgrade
to be executed without manual intervention, ensuring all dependencies and configurations are correctly applied. - Pre/Post Hooks for Git Integration: Allow the CLI to trigger publishing actions in response to Git events (e.g., on merge to
main
ordevelop
branches). - Configurable YAML/JSON File for CI/CD: Support defining these behaviors in a configuration file (
suitecloud.config.json
or.suitecloudrc
), enabling teams to standardize deployment processes.
Use Cases
- Developers can integrate versioning and publishing steps into GitHub Actions, GitLab CI/CD, Jenkins, or Azure DevOps pipelines.
- Teams can enforce versioning consistency across SuiteApp deployments.
- Automated deployments reduce the risk of manual errors and improve development velocity.
Implementation Suggestions
- Extend the
sacc
commands with additional flags (e.g.,sacc:version --auto
to auto-increment). - Provide environment variables to control CLI behavior (
SACC_AUTO_VERSION=patch
,SACC_AUTO_UPGRADE=true
). - Introduce a
sacc:publish
command that combines versioning and upgrade steps into a single automated workflow.
Additional Notes
- Ensuring authentication tokens persist across automated runs will be crucial for CI/CD use cases.
- Compatibility with existing SuiteApp project structures should be maintained.
Would love to hear thoughts from the SuiteCloud development team! 🚀