feat: Introduce releaseFull
command for automated releases
#13
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 commit introduces a new
releaseFull
command to the CLI. This command streamlines the release process by orchestrating the creation of a differential hot update package (.ppk), publishing it, and binding it to a specified native application version in a single, non-interactive operation.Key changes include:
New
releaseFull
command:cli.json
with options for diff inputs (origin
,next
,output
), publishing metadata (platform
,name
,description
,metaInfo
,packageVersion
), and update parameters (rollout
,dryRun
).src/release.ts
, coordinating calls to diff, publish, and update services.src/index.ts
.Refactoring of Core Logic:
src/bundle.ts
: ExporteddiffFromPPK
for direct use. Thebundle
command now acceptspackageVersion
and other publishing metadata, and can publish non-interactively ifname
is provided, as per the supplied patch.src/versions.ts
:executePublish
for non-interactive bundle publishing.getPackagesForUpdate
for non-interactive package selection based on nativepackageVersion
. -commands.publish
andcommands.update
now leverage these refactored functions and incorporate changes from the supplied patch (e.g., direct use ofmetaInfo
, handling ofpackageVersion
, and conditional skipping of prompts).Testing:
releaseFull
command, focusing on its orchestration logic, option passing, and error handling for missing required options.This new command addresses the issue requirement by providing a comprehensive, all-in-one CLI entry point for creating, uploading, and binding hot update bundles, significantly improving automation capabilities.