Skip to content

nx release: publish -g triggers publish for whole dependency tree beyond version group #21116

Description

@Hotell

Current Behavior

in a classic package monorepo nx release publish -g foo will trigger subsequent releases for whole dependency tree of packages in specified group. This also happens for both dependencies and devDependencies specified within package.json.

Contrived example:

nx.json#release:

{
  "groups": {
     "foo": {
       "projectsRelationship": "fixed",
        "projects": ["b","c"]
     }
  }
}

pac-a

{
 "name": "@myorg/a",
  "version": "1.0.0"
}

pac-b

{
 "name": "@myorg/b",
  "version": "1.0.0",
  "devDependencies": { "@myorg/d":"latest"}
}

pac-c

{
 "name": "@myorg/c",
  "version": "1.0.0"
 "dependencies": { "@myorg/a":"latest"}
}

pac-d

{
 "name": "@myorg/d",
  "version": "1.0.0"
}

nx release publish -g foo

releases all 4 packages

Expected Behavior

nx release publish should trigger actual release only for packages within specified release group. ( same as nx release version works ).

to follow on contrived example:

  • while indeed all the packages should be build, actual publish should happen only for b and c
  • I understood that this is standard behaviour of executing based on package dependency tree, but especially when release groups are used this shouldn't happen.

GitHub Repo

microsoft/fluentui#30251

Steps to Reproduce

  1. checkout provided PR
  2. run nx release publish -g northstar -d

Nx Report

Node   : 18.18.2
   OS     : darwin-arm64
   yarn   : 1.23.34
   
   nx             : 17.2.8
   lerna          : 8.0.1
   @nx/js         : 17.2.8
   @nx/jest       : 17.2.8
   @nx/linter     : 17.2.8
   @nx/eslint     : 17.2.8
   @nx/workspace  : 17.2.8
   @nx/devkit     : 17.2.8
   @nx/node       : 17.2.8
   @nx/plugin     : 17.2.8
   @nrwl/tao      : 17.2.8
   typescript     : 4.7.4
   ---------------------------------------
   Local workspace plugins:
         @fluentui/workspace-plugin

Failure Logs

No response

Package Manager Version

yarn v1

Operating System

  • macOS
  • Linux
  • Windows
  • Other (Please specify)

Additional Information

No response

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions