@simplysf/simply-cicd
v0.8.4
Published
Commands for Salesforce CI/CD pipelines
Readme
@simplysf/simply-cicd
Install
sf plugins install @simplysf/simply-cicdIssues
Please report any issues at https://github.com/SimplySF/simply-node/issues
Contributing
This package is part of the @simplysf/simply monorepo. See the repo's CONTRIBUTING.md for the repo structure, how to set up and build the project, our commit conventions, and how to submit a pull request. Please also read our Code of Conduct.
Commands
sf simply cicd build cleanup-scratch-orgssf simply cicd build create-fallback-tagsf simply cicd build create-package-versionsf simply cicd build create-scratchsf simply cicd build delete-scratchsf simply cicd build determine-package-changessf simply cicd build generate-flexipage-diffsf simply cicd build generate-flow-diffsf simply cicd build install-dependenciessf simply cicd build lwc-jestsf simply cicd build push-scratchsf simply cicd build test-scratchsf simply cicd deploy happy-soup deploy-unpackagedsf simply cicd deploy happy-soup deployment-close-outsf simply cicd deploy happy-soup install-packagedsf simply cicd deploy happy-soup post-deploysf simply cicd deploy happy-soup post-destructivesf simply cicd deploy happy-soup pre-destructivesf simply cicd deploy happy-soup tag-deploymentsf simply cicd deploy happy-soup validatesf simply cicd deploy project deploy-unpackagedsf simply cicd deploy project install-packagedsf simply cicd deploy project post-deploysf simply cicd deploy project post-destructivesf simply cicd deploy project pre-destructivesf simply cicd deploy project run-apex-testssf simply cicd deploy project validatesf simply cicd deploy validatesf simply cicd notify happy-soupsf simply cicd notify projectsf simply cicd notify teamssf simply cicd sfdx-dependabot
sf simply cicd build cleanup-scratch-orgs
Delete scratch orgs older than 3 hours from every configured Dev Hub.
USAGE
$ sf simply cicd build cleanup-scratch-orgs --dev-hub <value>... [--json] [--flags-dir <value>] [--debug] [--disabled]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--dev-hub=<value>... (required) Alias of a Dev Hub. Must already be authenticated. Repeat this flag for each Dev Hub
to try, in order.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Delete scratch orgs older than 3 hours from every configured Dev Hub.
For each Dev Hub, queries `ActiveScratchOrg` records created more than 3 hours ago and bulk-deletes them. Useful for
keeping a shared Dev Hub's scratch org allotment from being exhausted by abandoned CI runs. Every `--dev-hub` alias
must already be authenticated.
EXAMPLES
$ sf simply cicd build cleanup-scratch-orgs --dev-hub my-devhubSee code: lib/commands/simply/cicd/build/cleanup-scratch-orgs.js
sf simply cicd build create-fallback-tag
Create a fallback git tag carrying forward the previous package version's ID, for builds that didn't produce a new package version.
USAGE
$ sf simply cicd build create-fallback-tag --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
--project-access-token <value> [--json] [--flags-dir <value>] [--vcs-host <value>] [--vcs-provider github|gitlab]
[--debug] [--disabled] [--last-tag <value>] [--out <value>]
FLAGS
--ci-commit-ref-name=<value> (required) [env: SIMPLY_CICD_CI_COMMIT_REF_NAME] Git branch or ref name being built.
--ci-pipeline-id=<value> (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] CI pipeline ID, used to name the
temporary authenticated git remote.
--ci-project-path=<value> (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] CI project's git path (e.g.
group/project), used to build the authenticated git remote URL.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
running it.
--last-tag=<value> Manually specify the last tag to increment, instead of resolving it from git.
--out=<value> [default: subscriberPackageVersionId.env] Output dotenv file path.
--project-access-token=<value> (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Access token used to authenticate
git remote operations (tagging, pushing).
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this project.
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting this
project.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Create a fallback git tag carrying forward the previous package version's ID, for builds that didn't produce a new
package version.
Resolves the last tag to increment (either `--last-tag`, or the closest reachable tag matching the project's version
prefix), extracts its annotated `04t` package version ID, and creates/pushes a new tag with an incremented numeric
suffix (e.g. `v1.1.0` -> `v1.1.0-1` -> `v1.1.0-2`) annotated with that same package ID. Soft no-ops (does not error)
when no last tag, or no valid package ID within it, can be found — a build with nothing to fall back to just has
nothing to do here.
Skipped automatically when `PACKAGE_CHANGED=TRUE` is set in the environment (see `build determine-package-changes`) —
a real package version will be created instead.
EXAMPLES
$ sf simply cicd build create-fallback-tag --ci-commit-ref-name main --ci-project-path group/project --project-access-token glpat-... --ci-pipeline-id 123See code: lib/commands/simply/cicd/build/create-fallback-tag.js
sf simply cicd build create-package-version
Create a new package version, verify minimum code coverage, and create/push a version-tracking git tag.
USAGE
$ sf simply cicd build create-package-version --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
--project-access-token <value> --ci-commit-sha <value> --ci-pipeline-url <value> --packaging-devhub <value> [--json]
[--flags-dir <value>] [--vcs-host <value>] [--vcs-provider github|gitlab] [--debug] [--disabled]
[--ci-pipeline-source <value>] [--always-create-package] [--code-coverage-minimum <value>]
[--package-release-branch-prefix <value>]
FLAGS
--always-create-package Create a package version even when this isn't a release-branch build.
--ci-commit-ref-name=<value> (required) [env: SIMPLY_CICD_CI_COMMIT_REF_NAME] Git branch or ref name being
built.
--ci-commit-sha=<value> (required) [env: SIMPLY_CICD_CI_COMMIT_SHA] Commit SHA to tag as the package
version's source.
--ci-pipeline-id=<value> (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] CI pipeline ID, used to name the
temporary authenticated git remote.
--ci-pipeline-source=<value> [env: SIMPLY_CICD_CI_PIPELINE_SOURCE] Source trigger of the CI pipeline (e.g.
merge_request_event). When set to merge_request_event, package creation is
skipped.
--ci-pipeline-url=<value> (required) [env: SIMPLY_CICD_CI_PIPELINE_URL] URL of the CI pipeline, used as
the package version's description.
--ci-project-path=<value> (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] CI project's git path (e.g.
group/project), used to build the authenticated git remote URL.
--code-coverage-minimum=<value> [default: 75] Minimum Apex code coverage percentage required for the new
package version.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead
of running it.
--package-release-branch-prefix=<value> Prefix identifying release branches. Determines whether this build creates a
package version and how the resulting git tag is named.
--packaging-devhub=<value> (required) [env: SIMPLY_CICD_PACKAGING_DEVHUB] Alias of the Dev Hub used for
packaging operations like package version creation. Must already be
authenticated.
--project-access-token=<value> (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Access token used to
authenticate git remote operations (tagging, pushing).
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this
project.
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting
this project.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Create a new package version, verify minimum code coverage, and create/push a version-tracking git tag.
Skips entirely (without error) when the pipeline was triggered by a merge request, or when this isn't a release-branch
build and `--always-create-package` wasn't passed. Otherwise, creates a new version of the default package directory's
package, polls until creation finishes, verifies the resulting version's Apex code coverage meets
`--code-coverage-minimum` (or the project's own `plugins.simply.coverageRequirement.minimumCoverageRequired`, if
declared in `sfdx-project.json`), and creates/pushes a git tag annotated with the new package version's `04t` ID.
Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
EXAMPLES
$ sf simply cicd build create-package-version --ci-commit-ref-name main --ci-commit-sha a1b2c3d --ci-pipeline-id 123 --ci-pipeline-url https://gitlab.example.com/pipelines/123 --ci-project-path group/project --project-access-token glpat-... --packaging-devhub my-packaging-devhubSee code: lib/commands/simply/cicd/build/create-package-version.js
sf simply cicd build create-scratch
Create a scratch org, trying each configured Dev Hub in order.
USAGE
$ sf simply cicd build create-scratch --dev-hub <value>... [--json] [--flags-dir <value>] [--debug] [--disabled]
[--scratch-definition-file <value>] [--scratch-duration-days <value>]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--dev-hub=<value>... (required) Alias of a Dev Hub. Must already be authenticated. Repeat this flag for
each Dev Hub to try, in order.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
running it.
--scratch-definition-file=<value> Definition file used to create the scratch org, if not specified in
sfdx-project.json.
--scratch-duration-days=<value> [default: 1] Duration of the scratch org in days.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Create a scratch org, trying each configured Dev Hub in order.
Reads the default package directory's `definitionFile` from `sfdx-project.json` (falling back to
`--scratch-definition-file`), and attempts creation against each `--dev-hub` alias in order (each must already be
authenticated). A Dev Hub that has hit its daily scratch org limit is skipped in favor of the next one. Writes the
resulting org's auth fields to `SCRATCH_ORG_INFO.json` for later build steps, best-effort sets a default
`CountryCode`, and assigns any permission sets/licenses declared under the default package directory's
`packageMetadataAccess`.
Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
EXAMPLES
$ sf simply cicd build create-scratch --dev-hub my-devhubSee code: lib/commands/simply/cicd/build/create-scratch.js
sf simply cicd build delete-scratch
Delete the scratch org created by build create-scratch.
USAGE
$ sf simply cicd build delete-scratch --dev-hub <value> [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug]
[--disabled]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--dev-hub=<value> (required) Alias of a Dev Hub. Must already be authenticated. Repeat this flag for each Dev
Hub to try, in order.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
--jwt-key-file=<value> [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to re-authenticate the
scratch org (or its Dev Hub) when it was JWT-authenticated. Not needed when the Dev Hub was
authenticated via web login or an SFDX auth URL — the scratch org's own refresh token is used
instead.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Delete the scratch org created by `build create-scratch`.
Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`) to confirm `--dev-hub` is the Dev Hub that owns the
scratch org, re-authenticates to it and the scratch org as needed, and deletes it. Deletion failures are logged rather
than thrown, since a scratch org left behind after a failed deletion just needs manual cleanup and shouldn't fail an
otherwise-successful pipeline run.
Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
EXAMPLES
$ sf simply cicd build delete-scratch --dev-hub my-devhubSee code: lib/commands/simply/cicd/build/delete-scratch.js
sf simply cicd build determine-package-changes
Determine if any package-relevant files have changed since the last release tag.
USAGE
$ sf simply cicd build determine-package-changes [--json] [--flags-dir <value>] [--debug] [--disabled] [--out <value>]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
--out=<value> [default: changes.env] Output dotenv file path.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Determine if any package-relevant files have changed since the last release tag.
Reads the default package directory from `sfdx-project.json`, finds the closest reachable git tag matching its version
prefix, and diffs that tag against `HEAD` for the package directory and `sfdx-project.json` itself. Writes
`PACKAGE_CHANGED=TRUE|FALSE` and `LAST_TAG=<tag>` to the output file. Any failure during detection (missing/invalid
sfdx-project.json, git errors) defaults to `PACKAGE_CHANGED=TRUE`, so a build never silently skips work it should have
done.
EXAMPLES
$ sf simply cicd build determine-package-changes --out changes.envSee code: lib/commands/simply/cicd/build/determine-package-changes.js
sf simply cicd build generate-flexipage-diff
Generate a Flexipage delta between two commits and post the results to the change request.
USAGE
$ sf simply cicd build generate-flexipage-diff --from <value> --to <value> --project-access-token <value> [--json] [--flags-dir <value>]
[--vcs-host <value>] [--vcs-provider github|gitlab] [--ci-project-id <value>] [--ci-merge-request-iid <value>]
[--ci-repository <value>] [--ci-pull-request-number <value>] [--ci-run-id <value>] [--ci-server-url <value>]
[--ci-commit-sha <value>] [--out <value>] [--debug] [--disabled]
FLAGS
--ci-commit-sha=<value> [env: SIMPLY_CICD_CI_COMMIT_SHA] Commit SHA to attribute the posted diff to.
--ci-merge-request-iid=<value> [env: SIMPLY_CICD_CI_MERGE_REQUEST_IID] GitLab only: internal ID of the merge
request to post the diff to.
--ci-project-id=<value> [env: SIMPLY_CICD_CI_PROJECT_ID] GitLab only: numeric CI project ID of the project
to post the diff to.
--ci-pull-request-number=<value> [env: SIMPLY_CICD_CI_PULL_REQUEST_NUMBER] GitHub only: number of the pull request to
post the diff to.
--ci-repository=<value> [env: SIMPLY_CICD_CI_REPOSITORY] GitHub only: repository to post the diff to, as
owner/repo.
--ci-run-id=<value> [env: SIMPLY_CICD_CI_RUN_ID] GitHub only: Actions run ID, used to build links back
to the run's artifacts.
--ci-server-url=<value> [env: SIMPLY_CICD_CI_SERVER_URL] GitHub only: server URL, for instances other than
github.com.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
running it.
--from=<value> (required) Base commit SHA to diff from.
--out=<value> Output directory or file path for the delta results.
--project-access-token=<value> (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Project access token used to post
the diff results back to the merge request.
--to=<value> (required) Head commit SHA to diff to.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this project.
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting this
project.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Generate a Flexipage delta between two commits and post the results to the change request.
Runs the upstream `flexipage-delta` binary to diff `**/*.flexipage-meta.xml` files between `--from` and `--to`, then
the reporter binary for the platform `--vcs-provider` selects — `flexipage-delta-gitlab` or `flexipage-delta-github` —
to post the results back to the merge or pull request. Failures are logged, not thrown — a diff-posting step shouldn't
fail the build.
EXAMPLES
$ sf simply cicd build generate-flexipage-diff --ci-project-id 123 --ci-merge-request-iid 45 --from abc123 --to def456 --project-access-token glpat-...
$ sf simply cicd build generate-flexipage-diff --vcs-provider github --ci-repository my-org/my-repo --ci-pull-request-number 45 --ci-run-id 987 --from abc123 --to def456 --project-access-token ghp-...See code: lib/commands/simply/cicd/build/generate-flexipage-diff.js
sf simply cicd build generate-flow-diff
Generate a Flow delta between two commits and post the results to the change request.
USAGE
$ sf simply cicd build generate-flow-diff --from <value> --to <value> --project-access-token <value> [--json] [--flags-dir <value>]
[--vcs-host <value>] [--vcs-provider github|gitlab] [--ci-project-id <value>] [--ci-merge-request-iid <value>]
[--ci-repository <value>] [--ci-pull-request-number <value>] [--ci-run-id <value>] [--ci-server-url <value>]
[--ci-commit-sha <value>] [--out <value>] [--debug] [--disabled]
FLAGS
--ci-commit-sha=<value> [env: SIMPLY_CICD_CI_COMMIT_SHA] Commit SHA to attribute the posted diff to.
--ci-merge-request-iid=<value> [env: SIMPLY_CICD_CI_MERGE_REQUEST_IID] GitLab only: internal ID of the merge
request to post the diff to.
--ci-project-id=<value> [env: SIMPLY_CICD_CI_PROJECT_ID] GitLab only: numeric CI project ID of the project
to post the diff to.
--ci-pull-request-number=<value> [env: SIMPLY_CICD_CI_PULL_REQUEST_NUMBER] GitHub only: number of the pull request to
post the diff to.
--ci-repository=<value> [env: SIMPLY_CICD_CI_REPOSITORY] GitHub only: repository to post the diff to, as
owner/repo.
--ci-run-id=<value> [env: SIMPLY_CICD_CI_RUN_ID] GitHub only: Actions run ID, used to build links back
to the run's artifacts.
--ci-server-url=<value> [env: SIMPLY_CICD_CI_SERVER_URL] GitHub only: server URL, for instances other than
github.com.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
running it.
--from=<value> (required) Base commit SHA to diff from.
--out=<value> Output directory or file path for the delta results.
--project-access-token=<value> (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Project access token used to post
the diff results back to the merge request.
--to=<value> (required) Head commit SHA to diff to.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this project.
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting this
project.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Generate a Flow delta between two commits and post the results to the change request.
Runs the upstream `flow-delta` binary to diff `**/*.flow-meta.xml` files between `--from` and `--to`, then the
reporter binary for the platform `--vcs-provider` selects — `flow-delta-gitlab` or `flow-delta-github` — to post the
results back to the merge or pull request. Failures are logged, not thrown — a diff-posting step shouldn't fail the
build.
EXAMPLES
$ sf simply cicd build generate-flow-diff --ci-project-id 123 --ci-merge-request-iid 45 --from abc123 --to def456 --project-access-token glpat-...
$ sf simply cicd build generate-flow-diff --vcs-provider github --ci-repository my-org/my-repo --ci-pull-request-number 45 --ci-run-id 987 --from abc123 --to def456 --project-access-token ghp-...See code: lib/commands/simply/cicd/build/generate-flow-diff.js
sf simply cicd build install-dependencies
Install packaged dependencies into the scratch org created by build create-scratch.
USAGE
$ sf simply cicd build install-dependencies [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug] [--disabled] [--install-type
All|Delta|Upgrade]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
--install-type=<option> [default: Upgrade] The type of dependency installation to perform.
<options: All|Delta|Upgrade>
--jwt-key-file=<value> [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to re-authenticate the
scratch org (or its Dev Hub) when it was JWT-authenticated. Not needed when the Dev Hub was
authenticated via web login or an SFDX auth URL — the scratch org's own refresh token is used
instead.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Install packaged dependencies into the scratch org created by `build create-scratch`.
Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, and installs its
packaged dependencies.
Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
EXAMPLES
$ sf simply cicd build install-dependencies --jwt-key-file ./server.keySee code: lib/commands/simply/cicd/build/install-dependencies.js
sf simply cicd build lwc-jest
Install the LWC Jest test libraries and run the project's LWC Jest tests with coverage.
USAGE
$ sf simply cicd build lwc-jest [--json] [--flags-dir <value>] [--debug] [--disabled]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Install the LWC Jest test libraries and run the project's LWC Jest tests with coverage.
Installs `@salesforce/sfdx-lwc-jest` and `@sa11y/jest`, then runs `sfdx-lwc-jest --coverage -- --passWithNoTests`.
Failures are logged, not thrown.
EXAMPLES
$ sf simply cicd build lwc-jestSee code: lib/commands/simply/cicd/build/lwc-jest.js
sf simply cicd build push-scratch
Push source to the scratch org created by build create-scratch.
USAGE
$ sf simply cicd build push-scratch [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug] [--disabled]
[--ignore-warnings] [--scratch-org-source-dir <value>]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
running it.
--ignore-warnings Append --ignore-warnings to the underlying sf project deploy start call.
--jwt-key-file=<value> [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to
re-authenticate the scratch org (or its Dev Hub) when it was JWT-authenticated. Not
needed when the Dev Hub was authenticated via web login or an SFDX auth URL — the
scratch org's own refresh token is used instead.
--scratch-org-source-dir=<value> Source directory to push to the scratch org, in addition to the default package
directory.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Push source to the scratch org created by `build create-scratch`.
Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, strips metadata
types the scratch org push doesn't support (Einstein Conversation Agent file types), and runs `sf project deploy
start`. When `--scratch-org-source-dir` is given, also deploys the default package directory's `seedMetadata.path`, if
declared in `sfdx-project.json`.
Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
EXAMPLES
$ sf simply cicd build push-scratch --jwt-key-file ./server.keySee code: lib/commands/simply/cicd/build/push-scratch.js
sf simply cicd build test-scratch
Run Apex tests against the scratch org created by build create-scratch.
USAGE
$ sf simply cicd build test-scratch [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug] [--disabled]
[--disable-apex-tests]
FLAGS
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--disable-apex-tests Skip running Apex tests, without skipping the rest of the job.
--disabled [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
--jwt-key-file=<value> [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to re-authenticate the
scratch org (or its Dev Hub) when it was JWT-authenticated. Not needed when the Dev Hub was
authenticated via web login or an SFDX auth URL — the scratch org's own refresh token is used
instead.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Run Apex tests against the scratch org created by `build create-scratch`.
Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, and runs its
Apex tests with `RunLocalTests`.
Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
EXAMPLES
$ sf simply cicd build test-scratch --jwt-key-file ./server.keySee code: lib/commands/simply/cicd/build/test-scratch.js
sf simply cicd deploy happy-soup deploy-unpackaged
Run the deploy-unpackaged stage of a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup deploy-unpackaged --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
[--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
<value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
[--vcs-provider github|gitlab]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--ci-job-token=<value> (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
read-only repository clones.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-config-file=<value> [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
not provided, derived from --source-branch-name.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--source-branch-name=<value> [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
to derive the deployment config file path if --deploy-config-file is not provided.
--start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
file.
--test-level=<value> [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
--test-suite=<value> [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
--test-level.
--tests=<value> [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Run the deploy-unpackaged stage of a happy-soup deployment.
Runs the `bin/unpackagedDeploy.sh` script (if present) for each configured deployment that participates in this stage,
cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
EXAMPLES
$ sf simply cicd deploy happy-soup deploy-unpackaged --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uatSee code: lib/commands/simply/cicd/deploy/happy-soup/deploy-unpackaged.js
sf simply cicd deploy happy-soup deployment-close-out
Archive the deployment config file used for a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup deployment-close-out --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
--project-access-token <value> [--json] [--flags-dir <value>] [--debug] [--deploy-config-file <value>]
[--deploy-progress-file <value>] [--deploy-rules-file <value>] [--deploy-release-date <value>] [--source-branch-name
<value>] [--vcs-host <value>] [--vcs-provider github|gitlab]
FLAGS
--ci-commit-ref-name=<value> (required) [env: SIMPLY_CICD_CI_COMMIT_REF_NAME] The commit ref (branch) to fetch and
switch to before archiving.
--ci-pipeline-id=<value> (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] The CI pipeline ID, used to build the
authenticated push remote.
--ci-project-path=<value> (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] The project path (e.g. group/project),
used to build the authenticated push remote.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-config-file=<value> [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file to
archive, if --deploy-release-date is not provided.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-release-date=<value> The release date (e.g. 2026-01-15) used to resolve the source file as
`deployment-configs/<date>.json`, taking priority over --deploy-config-file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--project-access-token=<value> (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] A project access token with write
access, used to push the archive commit.
--source-branch-name=<value> [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
to derive the deployment config file path if --deploy-config-file is not provided.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Archive the deployment config file used for a happy-soup deployment.
Fetches and switches to the commit ref, then copies the deployment config file that was used (either
--deploy-release-date resolved to `deployment-configs/<date>.json`, or the explicit/derived deploy config file) to
`config/deploy.json` and commits it. If no source file can be found, an existing obsolete `config/deploy.json` is
removed instead. Both cases push the change with a `[skip ci]` commit message.
EXAMPLES
$ sf simply cicd deploy happy-soup deployment-close-out --ci-commit-ref-name main --ci-pipeline-id 123 --ci-project-path group/project --project-access-token $PROJECT_ACCESS_TOKEN --deploy-release-date 2026-01-15See code: lib/commands/simply/cicd/deploy/happy-soup/deployment-close-out.js
sf simply cicd deploy happy-soup install-packaged
Install packaged dependencies into the target org for a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup install-packaged --alias <value> [--json] [--flags-dir <value>] [--vcs-host <value>] [--vcs-provider
github|gitlab] [--debug] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--install-type
All|Delta|Upgrade] [--packaging-devhub <value>]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--install-type=<option> [default: Upgrade] The type of dependency installation to perform.
<options: All|Delta|Upgrade>
--packaging-devhub=<value> [env: SIMPLY_CICD_PACKAGING_DEVHUB] Alias of the Dev Hub used to look up package
version information for upgraded packages. Must already be authenticated. Omitted
entirely (with a warning) when not provided, skipping origin lookup for upgraded
packages.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Install packaged dependencies into the target org for a happy-soup deployment.
Installs the packaged dependencies declared in `sfdx-project.json` into the target org (`--alias`), which must already
be authenticated. For every dependency that upgrades an already-installed package, records the previous/target version
and origin commit information to the deploy progress file, for `notify happy-soup` to look up related stories from
later.
EXAMPLES
$ sf simply cicd deploy happy-soup install-packaged --alias my-orgSee code: lib/commands/simply/cicd/deploy/happy-soup/install-packaged.js
sf simply cicd deploy happy-soup post-deploy
Run the post-deploy stage of a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup post-deploy --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
[--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
<value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
[--vcs-provider github|gitlab]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--ci-job-token=<value> (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
read-only repository clones.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-config-file=<value> [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
not provided, derived from --source-branch-name.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--source-branch-name=<value> [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
to derive the deployment config file path if --deploy-config-file is not provided.
--start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
file.
--test-level=<value> [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
--test-suite=<value> [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
--test-level.
--tests=<value> [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Run the post-deploy stage of a happy-soup deployment.
Runs the `bin/postDeploy.sh` script (if present) for each configured deployment that participates in this stage,
cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
EXAMPLES
$ sf simply cicd deploy happy-soup post-deploy --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uatSee code: lib/commands/simply/cicd/deploy/happy-soup/post-deploy.js
sf simply cicd deploy happy-soup post-destructive
Run the post-destructive stage of a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup post-destructive --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
[--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
<value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
[--vcs-provider github|gitlab]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--ci-job-token=<value> (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
read-only repository clones.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-config-file=<value> [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
not provided, derived from --source-branch-name.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--source-branch-name=<value> [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
to derive the deployment config file path if --deploy-config-file is not provided.
--start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
file.
--test-level=<value> [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
--test-suite=<value> [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
--test-level.
--tests=<value> [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Run the post-destructive stage of a happy-soup deployment.
Runs the `bin/postDestructive.sh` script (if present) for each configured deployment that participates in this stage,
cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
EXAMPLES
$ sf simply cicd deploy happy-soup post-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uatSee code: lib/commands/simply/cicd/deploy/happy-soup/post-destructive.js
sf simply cicd deploy happy-soup pre-destructive
Run the pre-destructive stage of a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup pre-destructive --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
[--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
<value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
[--vcs-provider github|gitlab]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--ci-job-token=<value> (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
read-only repository clones.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-config-file=<value> [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
not provided, derived from --source-branch-name.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--source-branch-name=<value> [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
to derive the deployment config file path if --deploy-config-file is not provided.
--start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
file.
--test-level=<value> [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
--test-suite=<value> [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
--test-level.
--tests=<value> [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Run the pre-destructive stage of a happy-soup deployment.
Runs the `bin/preDestructive.sh` script (if present) for each configured deployment that participates in this stage,
cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
EXAMPLES
$ sf simply cicd deploy happy-soup pre-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uatSee code: lib/commands/simply/cicd/deploy/happy-soup/pre-destructive.js
sf simply cicd deploy happy-soup tag-deployment
Tag the current commit with details about a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup tag-deployment --ci-merge-request-iid <value> --ci-merge-request-project-url <value> --ci-pipeline-id <value>
--ci-pipeline-url <value> --ci-project-path <value> --project-access-token <value> --alias <value> [--json]
[--flags-dir <value>] [--debug] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--vcs-host <value>]
[--vcs-provider github|gitlab]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--ci-merge-request-iid=<value> (required) [env: SIMPLY_CICD_CI_MERGE_REQUEST_IID] The merge request's
internal ID (IID), used to build the merge request link in the tag message.
--ci-merge-request-project-url=<value> (required) [env: SIMPLY_CICD_CI_MERGE_REQUEST_PROJECT_URL] The project's URL,
used to build the merge request link in the tag message.
--ci-pipeline-id=<value> (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] The CI pipeline ID.
--ci-pipeline-url=<value> (required) [env: SIMPLY_CICD_CI_PIPELINE_URL] The CI pipeline URL, included in
the tag message if provided.
--ci-project-path=<value> (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] The project path (e.g.
group/project), used to build the authenticated push remote.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to
the deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path
to the deployment rules file.
--project-access-token=<value> (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] A project access token with
write access, used to push the tag.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g.
gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting
platform to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Tag the current commit with details about a happy-soup deployment.
Authenticates to the target org, derives an org domain prefix from its instance URL, and creates an annotated git tag
(`deployed--<org-domain-prefix>-<timestamp>`) recording the deployment time (America/New_York) and, if provided, the
associated pipeline and merge request links. The tag is pushed to the source repository.
EXAMPLES
$ sf simply cicd deploy happy-soup tag-deployment --alias my-org --ci-pipeline-id 123 --ci-pipeline-url https://gitlab.example.com/group/project/-/pipelines/123 --ci-project-path group/project --ci-merge-request-iid 45 --ci-merge-request-project-url https://gitlab.example.com/group/project --project-access-token $PROJECT_ACCESS_TOKENSee code: lib/commands/simply/cicd/deploy/happy-soup/tag-deployment.js
sf simply cicd deploy happy-soup validate
Validate deployment configuration files for a happy-soup deployment.
USAGE
$ sf simply cicd deploy happy-soup validate [--json] [--flags-dir <value>] [--deploy-config-file <value>] [--deploy-progress-file <value>]
[--deploy-rules-file <value>] [--source-branch-name <value>]
FLAGS
--deploy-config-file=<value> [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
not provided, derived from --source-branch-name.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--source-branch-name=<value> [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
to derive the deployment config file path if --deploy-config-file is not provided.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Validate deployment configuration files for a happy-soup deployment.
Validates the deployment config file (explicit, or derived from --source-branch-name) and, if --deploy-rules-file is
given, the deployment rules file. A missing file is skipped with a warning; a malformed or schema-invalid file fails
the command.
EXAMPLES
$ sf simply cicd deploy happy-soup validate --source-branch-name release/uat
$ sf simply cicd deploy happy-soup validate --deploy-config-file deployment-configs/uat.json --deploy-rules-file config/deploy-rules.jsonSee code: lib/commands/simply/cicd/deploy/happy-soup/validate.js
sf simply cicd deploy project deploy-unpackaged
Run the deploy-unpackaged stage of a project deployment.
USAGE
$ sf simply cicd deploy project deploy-unpackaged --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
[--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--start-from <value>]
[--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>] [--vcs-provider github|gitlab]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--ci-job-token=<value> (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
read-only repository clones.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-config-file=<value> [default: config/deploy.json, env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the
deployment configuration file.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
deployment rules file.
--start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
file.
--test-level=<value> [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
--test-suite=<value> [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
--test-level.
--tests=<value> [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Run the deploy-unpackaged stage of a project deployment.
Runs the `bin/unpackagedDeploy.sh` script (if present) against the local project directory, resuming from the
deployment progress file unless --start-from is given.
EXAMPLES
$ sf simply cicd deploy project deploy-unpackaged --ci-job-token $CI_JOB_TOKEN --alias my-orgSee code: lib/commands/simply/cicd/deploy/project/deploy-unpackaged.js
sf simply cicd deploy project install-packaged
Install packaged dependencies and the project's own package into the target org.
USAGE
$ sf simply cicd deploy project install-packaged --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--vcs-host <value>]
[--vcs-provider github|gitlab] [--debug] [--deploy-config-file <value>] [--deploy-progress-file <value>]
[--deploy-rules-file <value>] [--subscriber-package-version-id <value>] [--install-type All|Delta|Upgrade]
FLAGS
--alias=<value> (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
--ci-job-token=<value> (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to
authenticate read-only repository clones.
--debug [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
--deploy-config-file=<value> [default: config/deploy.json, env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to
the deployment configuration file.
--deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path
to the deployment progress file.
--deploy-rules-file=<value> [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path
to the deployment rules file.
--install-type=<option> [default: Upgrade] The type of dependency installation to perform.
<options: All|Delta|Upgrade>
--subscriber-package-version-id=<value> The subscriber package version ID (04t...) to install. If not provided, the
ID is looked up from the git tag annotation at HEAD.
--vcs-host=<value> [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g.
gitlab.com).
--vcs-provider=<option> [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting
platform to talk to.
<options: github|gitlab>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json 