From e5f944f0b68f641cfe1bc1d783ae08a553e0c008 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Fri, 22 Dec 2023 21:43:19 -0800 Subject: [PATCH 1/2] Update `rush init` template to include "buildSkipWithAllowWarningsInSuccessfulBuild" --- .../assets/rush-init/common/config/rush/experiments.json | 6 ++++++ libraries/rush-lib/src/api/ExperimentsConfiguration.ts | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json index 4b3917178bc..db23def61a0 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json @@ -43,6 +43,12 @@ */ /*[LINE "HYPOTHETICAL"]*/ "buildCacheWithAllowWarningsInSuccessfulBuild": true, + /** + * If true, build skipping will respect the allowWarningsInSuccessfulBuild flag and skip builds with warnings. + * This will not replay warnings from the skipped build. + */ + /*[LINE "HYPOTHETICAL"]*/ "buildSkipWithAllowWarningsInSuccessfulBuild": true, + /** * If true, the phased commands feature is enabled. To use this feature, create a "phased" command * in common/config/rush/command-line.json. diff --git a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts index 5c63db4acd5..b15ff0655e9 100644 --- a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts +++ b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts @@ -13,13 +13,13 @@ import schemaJson from '../schemas/experiments.schema.json'; export interface IExperimentsJson { /** * By default, 'rush install' passes --no-prefer-frozen-lockfile to 'pnpm install'. - * Set this option to true to pass '--frozen-lockfile' instead. + * Set this option to true to pass '--frozen-lockfile' instead for faster installs. */ usePnpmFrozenLockfileForRushInstall?: boolean; /** * By default, 'rush update' passes --no-prefer-frozen-lockfile to 'pnpm install'. - * Set this option to true to pass '--prefer-frozen-lockfile' instead. + * Set this option to true to pass '--prefer-frozen-lockfile' instead to minimize shrinkwrap changes. */ usePnpmPreferFrozenLockfileForRushUpdate?: boolean; From 21ee982844c52d0a5492c87cd749e1899fa67068 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Fri, 22 Dec 2023 21:43:58 -0800 Subject: [PATCH 2/2] rush change --- .../changes/@microsoft/rush/main_2023-12-23-05-43.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/main_2023-12-23-05-43.json diff --git a/common/changes/@microsoft/rush/main_2023-12-23-05-43.json b/common/changes/@microsoft/rush/main_2023-12-23-05-43.json new file mode 100644 index 00000000000..8620ed1a9c4 --- /dev/null +++ b/common/changes/@microsoft/rush/main_2023-12-23-05-43.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Update `rush init` template to document the \"buildSkipWithAllowWarningsInSuccessfulBuild\" experiment", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file