Skip to content

[rush] Exclude logs from "NullOperationRunner" to optimize logging in phased or bulk jobs #5735

@LPegasus

Description

@LPegasus

Summary

When using phased builds, a small number of projects require a full, comprehensive build phases, but most projects only need a subset of it. Phases that are undefined or defined as empty tasks produce excessive noise in the build logs, reducing the efficiency of accessing useful information.

Can we hide these logs from "NullOperationRunner" and also the count of operations in summary and timeline.

Details

Here's a slice of our CI log:

...
+ node common/scripts/install-run-rush.js test --impacted-by git:origin/master --include-phase-deps --timeline
The rush.json configuration requests Rush version 5.155.1
Invoking "rush test --impacted-by git:origin/master --include-phase-deps --timeline"
------------------------------------------------------------------------------------
Found configuration in /home/code/rush.json
Rush Multi-Project Build Tool 5.155.1 - https://rushjs.io/
Node.js version is 22.18.0 (LTS)
Trying to acquire lock for pnpm-8.8.0
Acquired lock for pnpm-8.8.0
Found pnpm version 8.8.0 in /root/.rush/node-v22.18.0/pnpm-8.8.0
Symlinking "/home/code/common/temp/pnpm-local"
  --> "/root/.rush/node-v22.18.0/pnpm-8.8.0"
Acquiring lock for "common/autoinstallers/rush-plugins" folder...
Autoinstaller folder is already up to date
Starting "rush test"
[BuildCachePlugin ENV] ***
Analyzing repo state... DONE (0.33 seconds)
Executing a maximum of 120 simultaneous processes...
==[ *** (starling) ]=======================[ 1 of 798 ]==
"*** (starling)" did not define any work.
==[ *** (idl) ]============================[ 2 of 798 ]==
"*** (idl)" did not define any work.
==[ ***(idl) ]==========================[ 3 of 798 ]==
"*** (idl)" did not define any work.
==[ *** (starling) ]===========================[ 4 of 798 ]==
"*** (starling)" did not define any work.
==[ *** (idl) ]================================[ 5 of 798 ]==
"*** (idl)" did not define any work.
==[ *** (idl) ]===============================[ 6 of 798 ]==
"*** (idl)" did not define any work.
==[ *** (idl) ]========================[ 7 of 798 ]==
"*** (idl)" did not define any work.
...

=============================================================================================================
                  ************************ (starling) %-----------------------------------------------   0.0s
                       ************************ (idl) %-----------------------------------------------   0.0s
                       ************************ (idl) %-----------------------------------------------   0.0s
                  ************************ (starling) %-----------------------------------------------   0.0s
                       ************************ (idl) %-----------------------------------------------   0.0s
                       ************************ (idl) %-----------------------------------------------   0.0s
                       ************************ (idl) %-----------------------------------------------   0.0s
                   *********************** (generate) %-----------------------------------------------   0.0s
                           ******************** (idl) %-----------------------------------------------   0.0s
                              ***************** (idl) %-----------------------------------------------   0.0s
                      ******************** (generate) %-----------------------------------------------   0.0s
                               **************** (idl) %-----------------------------------------------   0.0s
                                   ************ (idl) %-----------------------------------------------   0.0s
                 ************************ (pre-build) %-----------------------------------------------   0.0s
...
LEGEND:                                                                                   Total Work: 7074.8s
  [#] Success  [!] Failed/warnings  [%] Skipped/cached/no-op                               Wall Clock: 684.8s
                                                                                     Max Parallelism Used: 40
                                                                                   Avg Parallelism Used: 10.3
BY PHASE:
      _phase:build 1980.4s
   _phase:generate 38.1s
        _phase:idl 1.3s
  _phase:pre-build 1041.9s
   _phase:starling 33.7s
       _phase:lint 2300.9s
       _phase:test 1678.5s
==[ NO OP: 530 operations ]====================================================
These operations did not define any work:
    ***
...

Standard questions

Please answer these questions to help us investigate your issue more quickly:

Question Answer
@microsoft/rush globally installed version? 5.155.1
rushVersion from rush.json? 5.155.1
pnpmVersion, npmVersion, or yarnVersion from rush.json? pnpm@8.8.0
(if pnpm) useWorkspaces from pnpm-config.json? Yes
Operating system? Linux
Would you consider contributing a PR? Yes
Node.js version (node -v)? v22.18.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Needs triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions