You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The --build flag on bit tag, bit snap and bit lane merge runs the full build pipeline. This is the slow part of these commands. Many e2e tests used the build variants of the helpers, but did not read any build output.
This change replaces 195 of these calls in 63 files with the existing ...WithoutBuild helpers.
How the calls were selected:
All test files that use a build call ran with --build removed.
A call keeps --build if a test in its describe failed without it, or if no test ran under it.
Tests that read artifacts, builder data, the generated package.json, published packages, deps-graph data, or build status keep the build.
Three files keep the build after manual review: skip-publish-unpublished-dep, artifacts and pkg.
A test also keeps the build if a later step installs a package from the local registry. The build publishes that package. Without it, the install does not fail, but the test does not test its scenario.
The targeted helper substitution is the safest approach. Changing command-helper defaults or globally disabling builds would obscure test intent and risk silently weakening build-dependent coverage; explicit per-call selection preserves those scenarios while removing verified unnecessary work.
Files changed (72) +224 / -211
Tests (72) +224 / -211
cat.e2e.tsSkip builds when preparing cat command versions+3/-3
Skip builds when preparing cat command versions
• Uses without-build tagging for current and historical component versions, preserving explicit version arguments.
1. Artifact export regressions go untested✓ Resolved🐞 Bug≡ Correctness
Description
snapAllComponentsWithoutBuild() omits --build for the first snap even though the setup
explicitly requires Preview to generate artifacts. After cloning and disabling Preview, the second
snap also has no pipeline artifacts, so export reaches neither the intended first-version artifact
retrieval nor its missing-artifact handling path.
The test comments identify Preview generation as required for the first snap, but the changed setup
calls snapAllComponentsWithoutBuild(), whose implementation runs bit snap without --build,
while snapAllComponents() requests the build pipeline. The workspace is then cloned, Preview is
disabled, and another build-free snap is created before the export assertion, proving that neither
version produces the artifacts whose retrieval and absence the scenario is intended to exercise.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The lane-export scenario requires the first snap to generate Preview artifacts before the workspace is cloned and Preview is disabled. Restore the build-enabled snap behavior so the later export assertion covers artifact references and missing-artifact handling for the earlier version.
## Fix Focus Areas
- e2e/harmony/lanes/lane-export.e2e.ts[79-94]
## Recommended Fix
Replace the first `snapAllComponentsWithoutBuild()` call with `snapAllComponents()` so Preview artifacts are generated before cloning and export. If the scenario is intended to preserve the original build pipeline for both versions, replace the second build-free snap call as well; otherwise, it may remain build-free when only the first snap's artifacts are required by the regression.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
2. Removed components may build unnoticed✓ Resolved🐞 Bug≡ Correctness
Description
snapAllComponentsWithoutBuild() disables the pipeline in a scenario specifically testing that a
build-enabled snap excludes a removed component. With no pipeline requested, both the absence of
pipeline output and the removed component's forced skipped status hold regardless of whether
build-enabled snapping handles removal correctly.
The describe block explicitly names snapping with --build, while the new helper invokes bit snap
without that flag. Removed components are assigned skipped status independently, so the status
assertion cannot compensate for disabling the pipeline.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The test is meant to verify that removed components are excluded when snapping with a build, but the changed helper disables all building and makes its assertions vacuous.
## Fix Focus Areas
- e2e/commands/remove.e2e.ts[464-475]
## Recommended Fix
Restore `snapAllComponents('--build')` or use the equivalent build-enabled helper so a pipeline runs for eligible components while the removed component remains skipped.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
3. The preview regression is no longer tested✓ Resolved🐞 Bug≡ Correctness
Description
tagIncludeUnmodifiedWithoutBuild() runs bit tag --unmodified without --build, even though this
test enables Preview and explicitly requires its task to run. When the custom environment is
re-tagged with no other build invocation in the describe block, Preview never exercises the original
environment-resolution path, allowing regressions there to pass the no-throw assertion unnoticed.
The helper implementation shows that tagIncludeUnmodifiedWithoutBuild() omits --build, whereas
the replaced tagIncludeUnmodified() helper includes it. The test explicitly enables Preview, its
adjacent comment warns that the build is required for the Preview task, and Preview performs its
bundling through the builder pipeline, proving that the selected helper skips the behavior under
test.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
This regression test must run the build pipeline because its Preview task is the behavior under test, but `tagIncludeUnmodifiedWithoutBuild()` omits `--build`, so the task never executes.
## Fix Focus Areas
- e2e/harmony/custom-env-operations.e2e.ts[31-32]
## Recommended Fix
Replace `tagIncludeUnmodifiedWithoutBuild()` with the build-enabled `tagIncludeUnmodified()` helper so re-tagging runs the build pipeline and executes and validates the Preview task as intended.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
View action required (2) 4. Store type errors can pass untested✓ Resolved🐞 Bug≡ Correctness
Description
tagAllWithoutBuild() omits --build and bypasses the only pipeline operation intended to run
TSCompiler for this global-store test. The remaining assertions only search tag output for `error
TS` and inspect the component list, so type-resolution failures in global virtual-store slots can
pass when no compiler output was generated.
The surrounding comments identify the build pipeline and its TSCompiler task as the behavior under
test, but tagAllWithoutBuild() invokes plain bit tag without --build. Command handling
therefore passes a false build value, and the version maker returns before invoking the builder, so
neither checking the tag output for compiler errors nor listing components proves that compilation
ran.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The test is intended to prove that TSCompiler can resolve and type-check an aspect from a global virtual-store slot, but `tagAllWithoutBuild()` prevents the build and compiler pipeline from running.
## Fix Focus Areas
- e2e/harmony/global-virtual-store.e2e.ts[76-85]
## Recommended Fix
Replace `tagAllWithoutBuild()` with `tagAllComponents()` at this call so tagging runs the build pipeline and the existing compiler-error assertion once again covers compilation and type-resolution failures.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
5. Environment installs fail before merge tests✓ Resolved🐞 Bug☼ Reliability
Description
tagAllWithoutBuild() skips the tag build that registers and runs the package publishing task,
although this setup requires the environment package to be compiled and published to the local
registry. The subsequent fresh-workspace lane import loads that environment as a package, so it
cannot install the unpublished package and the status and merge assertions are not reached.
The test itself states that this tag needs a build to publish the environment package, then
reinitializes a workspace where the environment must be installed as a package. The helper omits
--build; publication is a tag task, and build-disabled version making returns before such tasks
run.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
Issue description
The initial tag must run the package publish task so the fresh workspace can install the custom environment from the local registry, but the changed helper skips that task.
Fix Focus Areas
- e2e/harmony/lanes/merge-main-env-policy.e2e.ts[34-38]
Recommended Fix
Replace `tagAllWithoutBuild()` with `tagAllComponents()` for the initial environment tag, preserving package compilation and publication before the lane import.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Context sources
Review mode: 🧠 Deep: This broad behavioral test change spans 64 e2e files and 174 independent helper substitutions, creating many independent, easy-to-miss cases where removing builds can invalidate setup or coverage.
Tip of the day
💡 Did you know, you can enable the Remediation agent and Qodo fixes findings in a dedicated fix PR
1. Artifact export regressions go untested 🐞 Bug≡ Correctness⭐ New
Description
snapAllComponentsWithoutBuild() omits --build for the first snap even though the setup
explicitly requires Preview to generate artifacts. After cloning and disabling Preview, the second
snap also has no pipeline artifacts, so export reaches neither the intended first-version artifact
retrieval nor its missing-artifact handling path.
The test comments identify Preview generation as required for the first snap, but the changed setup
calls snapAllComponentsWithoutBuild(), whose implementation runs bit snap without --build,
while snapAllComponents() requests the build pipeline. The workspace is then cloned, Preview is
disabled, and another build-free snap is created before the export assertion, proving that neither
version produces the artifacts whose retrieval and absence the scenario is intended to exercise.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The lane-export scenario requires the first snap to generate Preview artifacts before the workspace is cloned and Preview is disabled. Restore the build-enabled snap behavior so the later export assertion covers artifact references and missing-artifact handling for the earlier version.
## Fix Focus Areas
- e2e/harmony/lanes/lane-export.e2e.ts[79-94]
## Recommended Fix
Replace the first `snapAllComponentsWithoutBuild()` call with `snapAllComponents()` so Preview artifacts are generated before cloning and export. If the scenario is intended to preserve the original build pipeline for both versions, replace the second build-free snap call as well; otherwise, it may remain build-free when only the first snap's artifacts are required by the regression.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
2. Removed components may build unnoticed✓ Resolved🐞 Bug≡ Correctness
Description
snapAllComponentsWithoutBuild() disables the pipeline in a scenario specifically testing that a
build-enabled snap excludes a removed component. With no pipeline requested, both the absence of
pipeline output and the removed component's forced skipped status hold regardless of whether
build-enabled snapping handles removal correctly.
The describe block explicitly names snapping with --build, while the new helper invokes bit snap
without that flag. Removed components are assigned skipped status independently, so the status
assertion cannot compensate for disabling the pipeline.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The test is meant to verify that removed components are excluded when snapping with a build, but the changed helper disables all building and makes its assertions vacuous.
## Fix Focus Areas
- e2e/commands/remove.e2e.ts[464-475]
## Recommended Fix
Restore `snapAllComponents('--build')` or use the equivalent build-enabled helper so a pipeline runs for eligible components while the removed component remains skipped.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
3. The preview regression is no longer tested✓ Resolved🐞 Bug≡ Correctness
Description
tagIncludeUnmodifiedWithoutBuild() runs bit tag --unmodified without --build, even though this
test enables Preview and explicitly requires its task to run. When the custom environment is
re-tagged with no other build invocation in the describe block, Preview never exercises the original
environment-resolution path, allowing regressions there to pass the no-throw assertion unnoticed.
The helper implementation shows that tagIncludeUnmodifiedWithoutBuild() omits --build, whereas
the replaced tagIncludeUnmodified() helper includes it. The test explicitly enables Preview, its
adjacent comment warns that the build is required for the Preview task, and Preview performs its
bundling through the builder pipeline, proving that the selected helper skips the behavior under
test.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
This regression test must run the build pipeline because its Preview task is the behavior under test, but `tagIncludeUnmodifiedWithoutBuild()` omits `--build`, so the task never executes.
## Fix Focus Areas
- e2e/harmony/custom-env-operations.e2e.ts[31-32]
## Recommended Fix
Replace `tagIncludeUnmodifiedWithoutBuild()` with the build-enabled `tagIncludeUnmodified()` helper so re-tagging runs the build pipeline and executes and validates the Preview task as intended.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
View action required (2) 4. Store type errors can pass untested✓ Resolved🐞 Bug≡ Correctness
Description
tagAllWithoutBuild() omits --build and bypasses the only pipeline operation intended to run
TSCompiler for this global-store test. The remaining assertions only search tag output for `error
TS` and inspect the component list, so type-resolution failures in global virtual-store slots can
pass when no compiler output was generated.
The surrounding comments identify the build pipeline and its TSCompiler task as the behavior under
test, but tagAllWithoutBuild() invokes plain bit tag without --build. Command handling
therefore passes a false build value, and the version maker returns before invoking the builder, so
neither checking the tag output for compiler errors nor listing components proves that compilation
ran.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The test is intended to prove that TSCompiler can resolve and type-check an aspect from a global virtual-store slot, but `tagAllWithoutBuild()` prevents the build and compiler pipeline from running.
## Fix Focus Areas
- e2e/harmony/global-virtual-store.e2e.ts[76-85]
## Recommended Fix
Replace `tagAllWithoutBuild()` with `tagAllComponents()` at this call so tagging runs the build pipeline and the existing compiler-error assertion once again covers compilation and type-resolution failures.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
5. Environment installs fail before merge tests✓ Resolved🐞 Bug☼ Reliability
Description
tagAllWithoutBuild() skips the tag build that registers and runs the package publishing task,
although this setup requires the environment package to be compiled and published to the local
registry. The subsequent fresh-workspace lane import loads that environment as a package, so it
cannot install the unpublished package and the status and merge assertions are not reached.
The test itself states that this tag needs a build to publish the environment package, then
reinitializes a workspace where the environment must be installed as a package. The helper omits
--build; publication is a tag task, and build-disabled version making returns before such tasks
run.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
Issue description
The initial tag must run the package publish task so the fresh workspace can install the custom environment from the local registry, but the changed helper skips that task.
Fix Focus Areas
- e2e/harmony/lanes/merge-main-env-policy.e2e.ts[34-38]
Recommended Fix
Replace `tagAllWithoutBuild()` with `tagAllComponents()` for the initial environment tag, preserving package compilation and publication before the lane import.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Context sources
Review mode: 🧠 Deep: This broad behavioral test-fixture change spans 64 files and 175 independent call-site edits, with multiple already-identified cases where removing builds invalidates coverage, making redundant review materially valuable.
1. Removed components may build unnoticed 🐞 Bug≡ Correctness
Description
snapAllComponentsWithoutBuild() disables the pipeline in a scenario specifically testing that a
build-enabled snap excludes a removed component. With no pipeline requested, both the absence of
pipeline output and the removed component's forced skipped status hold regardless of whether
build-enabled snapping handles removal correctly.
The describe block explicitly names snapping with --build, while the new helper invokes bit snap
without that flag. Removed components are assigned skipped status independently, so the status
assertion cannot compensate for disabling the pipeline.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The test is meant to verify that removed components are excluded when snapping with a build, but the changed helper disables all building and makes its assertions vacuous.
## Fix Focus Areas
- e2e/commands/remove.e2e.ts[464-475]
## Recommended Fix
Restore `snapAllComponents('--build')` or use the equivalent build-enabled helper so a pipeline runs for eligible components while the removed component remains skipped.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
2. The preview regression is no longer tested 🐞 Bug≡ Correctness
Description
tagIncludeUnmodifiedWithoutBuild() runs bit tag --unmodified without --build, even though this
test enables Preview and explicitly requires its task to run. When the custom environment is
re-tagged with no other build invocation in the describe block, Preview never exercises the original
environment-resolution path, allowing regressions there to pass the no-throw assertion unnoticed.
The helper implementation shows that tagIncludeUnmodifiedWithoutBuild() omits --build, whereas
the replaced tagIncludeUnmodified() helper includes it. The test explicitly enables Preview, its
adjacent comment warns that the build is required for the Preview task, and Preview performs its
bundling through the builder pipeline, proving that the selected helper skips the behavior under
test.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
This regression test must run the build pipeline because its Preview task is the behavior under test, but `tagIncludeUnmodifiedWithoutBuild()` omits `--build`, so the task never executes.
## Fix Focus Areas
- e2e/harmony/custom-env-operations.e2e.ts[31-32]
## Recommended Fix
Replace `tagIncludeUnmodifiedWithoutBuild()` with the build-enabled `tagIncludeUnmodified()` helper so re-tagging runs the build pipeline and executes and validates the Preview task as intended.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
3. Store type errors can pass untested 🐞 Bug≡ Correctness
Description
tagAllWithoutBuild() omits --build and bypasses the only pipeline operation intended to run
TSCompiler for this global-store test. The remaining assertions only search tag output for `error
TS` and inspect the component list, so type-resolution failures in global virtual-store slots can
pass when no compiler output was generated.
The surrounding comments identify the build pipeline and its TSCompiler task as the behavior under
test, but tagAllWithoutBuild() invokes plain bit tag without --build. Command handling
therefore passes a false build value, and the version maker returns before invoking the builder, so
neither checking the tag output for compiler errors nor listing components proves that compilation
ran.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The test is intended to prove that TSCompiler can resolve and type-check an aspect from a global virtual-store slot, but `tagAllWithoutBuild()` prevents the build and compiler pipeline from running.
## Fix Focus Areas
- e2e/harmony/global-virtual-store.e2e.ts[76-85]
## Recommended Fix
Replace `tagAllWithoutBuild()` with `tagAllComponents()` at this call so tagging runs the build pipeline and the existing compiler-error assertion once again covers compilation and type-resolution failures.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
tagAllWithoutBuild() skips the tag build that registers and runs the package publishing task,
although this setup requires the environment package to be compiled and published to the local
registry. The subsequent fresh-workspace lane import loads that environment as a package, so it
cannot install the unpublished package and the status and merge assertions are not reached.
The test itself states that this tag needs a build to publish the environment package, then
reinitializes a workspace where the environment must be installed as a package. The helper omits
--build; publication is a tag task, and build-disabled version making returns before such tasks
run.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
Issue description
The initial tag must run the package publish task so the fresh workspace can install the custom environment from the local registry, but the changed helper skips that task.
Fix Focus Areas
- e2e/harmony/lanes/merge-main-env-policy.e2e.ts[34-38]
Recommended Fix
Replace `tagAllWithoutBuild()` with `tagAllComponents()` for the initial environment tag, preserving package compilation and publication before the lane import.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Context sources
Review mode: 🧠 Deep: This broad, behavior-affecting e2e change replaces helpers across 72 files and 186 independent sites, creating many opportunities to incorrectly remove builds from tests that implicitly depend on build artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
--buildflag onbit tag,bit snapandbit lane mergeruns the full build pipeline. This is the slow part of these commands. Many e2e tests used the build variants of the helpers, but did not read any build output.This change replaces 195 of these calls in 63 files with the existing
...WithoutBuildhelpers.How the calls were selected:
--buildremoved.--buildif a test in itsdescribefailed without it, or if no test ran under it.package.json, published packages, deps-graph data, or build status keep the build.skip-publish-unpublished-dep,artifactsandpkg.All tests in the changed files pass locally.