Skip to content

Add --webhook flag to sfdx force:source:deploy when scheduling asynchronous deployment jobs #2068

@AllanOricil

Description

@AllanOricil

Is your feature request related to a problem? Please describe.

Currently CI/CD pipelines spend unecessary computing time and memory while pulling the status of deployment job. Since the build and test process happens inside salesforce, there is no need to keep a whole Node process alive waiting for this job to finish. These resources could be released so that they can be used by other important jobs.

example: 14min doing nothing but consuming resources in the host machine.
image

What are you trying to do
After scheduling a deployment job inside a salesforce instance, I want to release cpu and memory, and restart the workflow only when the job has finished. I don't want to keep a process alive pulling the job status.

Describe the solution you'd like
This could be achieved if there was a webhook service sending events to clients on every deployment job stage. Something similar to what github does

image

With this service in place, you can then add a new flag called --webhook which would tell salesforce where to send these events to.
sfdx force:source:deploy ... -w 0 --webhook $webhook

This feature could also enable serverless CICD pipelines for Salesforce.

AWS Step Functions are free when paused: https://stackoverflow.com/questions/58110826/aws-step-function-costing
Example of Step Functions that are paused while waiting for a response for a 3rd party service: https://catalog.workshops.aws/serverless-service-coordination/en-US/add-application-review/pausing-execution

Describe alternatives you've considered
There is no alternative.

Additional context
NA

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureIssue or pull request for a new feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions