Skip to content

Salesforce release type does not allow monorepo #1856

@dschach

Description

@dschach

Environment details

  • OS: OSX
  • Node.js version: 19.0.1
  • npm version:9.4.2
  • release-please version: 15.7.0

Steps to reproduce

  1. create a config file with two entries: "." and "force-app" which is the minimum required for a single metadata directory. Note: Many projects will have multiple metadata directories such as "unpackaged" and various extension directories.
  2. Create the same headings in the project config file.
  3. Attempt to run release-please release-pr (token, repo, branch) and get an error that says

MissingRequiredFileError: salesforce (dschach/campaign-member-status): Missing required file: force-app/sfdx-project.json

But a given SFDX project should have only ONE sfdx-project.json file, with a separate packageDirectories object for each package or metadata grouping.

For an example, see my repo with three metadata directories (force-app, unpackaged, and triggerhandler)

I am concerned that this Salesforce release type has not been tested properly. It already violates rules by putting version numbers in packageDirectories objects that don't have a value for package.

Release Please Manifest

{
  ".": "0.0.0",
  "force-app": "0.0.0",
  "triggerhandler": "0.0.0",
  "unpackaged": "0.0.0"
}

Release Please Config


{
  "packages": {
    ".": { "release-type": "salesforce" },
    "force-app": { "release-type": "salesforce" },
    "triggerhandler": { "release-type": "salesforce" },
    "unpackaged": { "release-type": "salesforce" }
  },
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
  "release-type": "salesforce",
  "changelog-path": "CHANGELOG.md"
}

Metadata

Metadata

Assignees

Labels

help wantedWe'd love to have community involvement on this issue.needs designNeeds some thought into how this would workpriority: p3Desirable enhancement or fix. May not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions