validate command helps you to test ((deployability, apex tests, coverage) a change made to your configuration / code against a target org. This command is typically triggered as part of your Pull Request (PR) or Merge process, to ensure the correctness of configuration/code, before being merged into your main branch.
sfp validates a change by deploying the changed packages into the target org. This is different from 'check only' deployment in other CI/CD solutions.
validate can either utilise a scratch org from a tagged pool prepared earlier using the preparecommand or one could use the a target org for its purpose
// An example where validate is utilized against a pool
// of earlier prepared scratch orgs with label review
sfp validate pool -p review \
-v devhub \
--diffcheck
// An example where validate is utilized against a target org
sfp validate org -o ci \
-v devhub \
--installdeps
// An example with branch references for intelligent synchronization
sfp validate org -o ci \
-v devhub \
--ref feature-branch \
--baseRef main
// An example with release config for domain-limited validation
sfp validate org -o ci \
-v devhub \
--releaseconfig config/release-sales.yml
validate pool / validate org command runs the following checks with the options to enable additional features such as dependency and impact analysis:
Checks accuracy of metadata by deploying the metadata to an org
Triggers Apex Tests
Validates Apex Test Coverage of each package (default: 75%)
Toggle between different modes for validation:
Thorough(Default) - Comprehensive validation with full deployments and all tests
Individual - Validates changed packages individually, ideal for PRs