Check-Only Deployment Mode

Attribute
Type
Description
Package Types Applicable

checkOnlyAgainst

string[]

Array of org aliases where this package should be validated using check-only (validate-only) deployment. When the target org matches an alias in this array, a check-only deployment is performed; otherwise skipped.

  • unlocked

  • org-dependent unlocked

  • source

  • diff

Certain packages cannot be validated in pooled review environments (scratch orgs or sandboxes) - for example, Data Cloud packages that require specific provisioning, or integration-heavy packages that depend on connected apps and named credentials not available in pools.

The checkOnlyAgainst attribute allows these packages to be validated against persistent orgs using Salesforce's check-only deployment, which verifies deployability without committing changes to the target org.

This attribute only affects the sfp validate org command. It has no effect during deploy, release, or install stages.

{
  "packageDirectories": [
    {
      "package": "dc-connector",
      "path": "src/dc-connector",
      "type": "source",
      "checkOnlyAgainst": ["review"]
    }
  ]
}

When running sfp validate org --targetorg datacloud-dev --releaseconfig config/dc-domain.yaml, the package will be validated using check-only deployment against the specified org.

Behavior

When using sfp validate org with a --releaseconfig:

  • If --targetorg matches one of the aliases in checkOnlyAgainst → Check-only deployment

  • If --targetorg does NOT match any alias → Package is skipped

When using sfp validate pool, packages with checkOnlyAgainst are always skipped regardless of pool alias.

Requirements

Release Config Required

The feature only works when --releaseconfig is provided. This is required to validate the single-package domain constraint.

Single Package Per Domain

Domains containing a package with checkOnlyAgainst must have exactly one package. This avoids dependency ordering complexity.

Org Authentication

The org alias in --targetorg must be pre-authenticated in your CI environment.

Last updated

Was this helpful?