Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/angular/angular.git. Pull mirroring updated .
  1. Jun 19, 2024
  2. May 09, 2024
  3. Apr 03, 2024
  4. Feb 27, 2024
  5. Feb 10, 2024
  6. Sep 08, 2023
  7. Jul 17, 2023
  8. Jun 27, 2023
    • Paul Gschwendtner's avatar
      build: do not attempt deflaking locally (#50852) · 39935ee0
      Paul Gschwendtner authored
      We've recently marked the ngtsc test as flaky for the Windows
      job. We should not attempt running tests 3 times locally. This
      negatively impacts the debugging/developer workflow.
      
      Instead, flaky test attempts can still be made on CI. Using the
      default attempt count of 3.
      
      PR Close #50852
      39935ee0
  9. Jun 21, 2023
  10. Feb 17, 2023
    • Paul Gschwendtner's avatar
      build: avoid unnecessary re-evaluation of starlark code (#49106) · 2a4d9879
      Paul Gschwendtner authored
      The experimental allow tags propagation flag is a `BuildLanguage` option
      and causes all Starlark code to be re-invoked. This causes a slow-down
      when switching between bazel query/ bazel build because the option is not set for `bazel query`.
      
      We fix it by applying the option to all commands, using `common`.
      
      PR Close #49106
      2a4d9879
  11. Dec 03, 2022
    • Paul Gschwendtner's avatar
      build: fix AIO jobs not running with RBE and CircleCI Bazel settings (#48316) · f7240109
      Paul Gschwendtner authored
      The `.bazelrc` workspace file attempted to imported the `.bazelrc.user`
      file. This user file is set on CI to include the CI specific Bazel
      settings.
      
      Apparently this user rc import does not work, and fails silently given
      the `try-import`. It fails because for AIO Bazel commands we change
      the working directory using `yarn --cwd aio` and the `try-import`
      is relative to the working directory..
      
      PR Close #48316
      f7240109
  12. Nov 23, 2022
  13. Oct 01, 2022
  14. Aug 03, 2022
  15. Jun 23, 2022
  16. Jun 15, 2022
  17. Dec 09, 2021
    • Paul Gschwendtner's avatar
      refactor: setup bazel integration test with new integration rule (#44238) · 5837fbd3
      Paul Gschwendtner authored
      Sets up the Bazel integration test with the new integration rule. This
      commit is separate from the other changes because it required some
      additional work. i.e.
      
      The test has moved from `integration/bazel` to `integration/<..>/bazel`
      where `<..>` is a new Bazel package defining the integration test.
      
      This is necessary because we could not declare the integration test
      within the `BUILD.bazel` file actually being part of the nested bazel
      workspace. In those cases we can just define it at a higher-level and
      use integration test `working_dir` attribute.
      
      PR Close #44238
      5837fbd3
  18. Nov 24, 2021
  19. Nov 22, 2021
  20. Nov 18, 2021
  21. Nov 11, 2021
    • AleksanderBodurri's avatar
      build(devtools): set up bazel and bazel tooling · 41ce9dc7
      AleksanderBodurri authored
      Marks the beginning of a migration over to building Angular devtools with Bazel. This commit brings in tooling from the canonical angular bazel example repository and includes the necessary dependencies in the package.json
      41ce9dc7
  22. Nov 06, 2021
  23. Oct 20, 2021
  24. Aug 17, 2021
  25. Jun 24, 2021
  26. Apr 24, 2021
  27. Mar 25, 2021
    • Alex Rickabaugh's avatar
      build: emit performance JSON file for each ng_module() (#41125) · b61c009c
      Alex Rickabaugh authored
      A previous commit implemented a streamlined performance metric reporting
      system for the compiler-cli, controlled via the compiler option
      `tracePerformance`.
      
      This commit adds a custom Bazel flag rule //packages/compiler-cli:ng_perf
      to the repository, and wires it through to the `ng_module` implementation
      such that if the flag is set, `ng_module` will produce perf results as part
      of the build. The underlying mechanism of `//:ng_perf` is not exported from
      `@angular/bazel` as a public rule that consumers can use, so there is little
      risk of accidental dependency on the contents of these perf traces.
      
      An alias is added so that `--ng_perf` is a Bazel flag which works in our
      repository.
      
      PR Close #41125
      b61c009c
  28. Dec 16, 2020
  29. Oct 09, 2020
    • Greg Magolan's avatar
      build: upgrade angular build, integration/bazel and @angular/bazel package to... · 42a164f5
      Greg Magolan authored
      build: upgrade angular build, integration/bazel and @angular/bazel package to rule_nodejs 2.2.0 (#39182)
      
      Updates to rules_nodejs 2.2.0. This is the first major release in 7 months and includes a number of features as well
      as breaking changes.
      
      Release notes: https://github.com/bazelbuild/rules_nodejs/releases/tag/2.0.0
      
      Features of note for angular/angular:
      
      * stdout/stderr/exit code capture; this could be potentially be useful
      
      * TypeScript (ts_project); a simpler tsc rule that ts_library that can be used in the repo where ts_library is too
        heavy weight
      
      Breaking changes of note for angular/angular:
      
      * loading custom rules from npm packages: `ts_library` is no longer loaded from `@npm_bazel_typescript//:index.bzl`
        (which no longer exists) but is now loaded from `@npm//@bazel/typescript:index.bzl`
      
      * with the loading changes above, `load("@npm//:install_bazel_dependencies.bzl", "install_bazel_dependencies")` is
        no longer needed in the WORKSPACE which also means that yarn_install does not need to run unless building/testing
        a target that depends on @npm. In angular/angular this is a minor improvement as almost everything depends on @npm.
      
      * @angular/bazel package is also updated in this PR to support the new load location; Angular + Bazel users that
        require it for ng_package (ng_module is no longer needed in OSS with Angular 10) will need to load from
        `@npm//@angular/bazel:index.bzl`. I investigated if it was possible to maintain backward compatability for the old
        load location `@npm_angular_bazel` but it is not since the package itself needs to be updated to load from
        `@npm//@bazel/typescript:index.bzl` instead of `@npm_bazel_typescript//:index.bzl` as it depends on ts_library
        internals for ng_module.
      
      * runfiles.resolve will now throw instead of returning undefined to match behavior of node require
      
      Other changes in angular/angular:
      
      * integration/bazel has been updated to use both ng_module and ts_libary with use_angular_plugin=true.
        The latter is the recommended way for rules_nodejs users to compile Angular 10 with Ivy. Bazel + Angular ViewEngine is
        supported with @angular/bazel <= 9.0.5 and Angular <= 8. There is still Angular ViewEngine example on rules_nodejs
        https://github.com/bazelbuild/rules_nodejs/tree/stable/examples/angular_view_engine on these older versions but users
        that want to update to Angular 10 and are on Bazel must switch to Ivy and at that point ts_library with
        use_angular_plugin=true is more performant that ng_module. Angular example in rules_nodejs is configured this way
        as well: https://github.com/bazelbuild/rules_nodejs/tree/stable/examples/angular. As an aside, we also have an
        example of building Angular 10 with architect() rule directly instead of using ts_library with angular plugin:
        https://github.com/bazelbuild/rules_nodejs/tree/stable/examples/angular_bazel_architect.
      
      NB: ng_module is still required for angular/angular repository as it still builds ViewEngine & @angular/bazel
      also provides the ng_package rule. ng_module can be removed in the future if ViewEngine is no longer needed in
      angular repo.
      
      * JSModuleInfo provider added to ng_module. this is for forward compat for future rules_nodejs versions.
      
      PR Close #39182
      42a164f5
  30. Oct 03, 2020
  31. Oct 02, 2020
    • Greg Magolan's avatar
      build: upgrade angular build, integration/bazel and @angular/bazel package to... · db56cf18
      Greg Magolan authored
      build: upgrade angular build, integration/bazel and @angular/bazel package to rule_nodejs 2.2.0 (#37727)
      
      Updates to rules_nodejs 2.2.0. This is the first major release in 7 months and includes a number of features as well
      as breaking changes.
      
      Release notes: https://github.com/bazelbuild/rules_nodejs/releases/tag/2.0.0
      
      Features of note for angular/angular:
      
      * stdout/stderr/exit code capture; this could be potentially be useful
      
      * TypeScript (ts_project); a simpler tsc rule that ts_library that can be used in the repo where ts_library is too
        heavy weight
      
      Breaking changes of note for angular/angular:
      
      * loading custom rules from npm packages: `ts_library` is no longer loaded from `@npm_bazel_typescript//:index.bzl`
        (which no longer exists) but is now loaded from `@npm//@bazel/typescript:index.bzl`
      
      * with the loading changes above, `load("@npm//:install_bazel_dependencies.bzl", "install_bazel_dependencies")` is
        no longer needed in the WORKSPACE which also means that yarn_install does not need to run unless building/testing
        a target that depends on @npm. In angular/angular this is a minor improvement as almost everything depends on @npm.
      
      * @angular/bazel package is also updated in this PR to support the new load location; Angular + Bazel users that
        require it for ng_package (ng_module is no longer needed in OSS with Angular 10) will need to load from
        `@npm//@angular/bazel:index.bzl`. I investigated if it was possible to maintain backward compatability for the old
        load location `@npm_angular_bazel` but it is not since the package itself needs to be updated to load from
        `@npm//@bazel/typescript:index.bzl` instead of `@npm_bazel_typescript//:index.bzl` as it depends on ts_library
        internals for ng_module.
      
      * runfiles.resolve will now throw instead of returning undefined to match behavior of node require
      
      Other changes in angular/angular:
      
      * integration/bazel has been updated to use both ng_module and ts_libary with use_angular_plugin=true.
        The latter is the recommended way for rules_nodejs users to compile Angular 10 with Ivy. Bazel + Angular ViewEngine is
        supported with @angular/bazel <= 9.0.5 and Angular <= 8. There is still Angular ViewEngine example on rules_nodejs
        https://github.com/bazelbuild/rules_nodejs/tree/stable/examples/angular_view_engine on these older versions but users
        that want to update to Angular 10 and are on Bazel must switch to Ivy and at that point ts_library with
        use_angular_plugin=true is more performant that ng_module. Angular example in rules_nodejs is configured this way
        as well: https://github.com/bazelbuild/rules_nodejs/tree/stable/examples/angular. As an aside, we also have an
        example of building Angular 10 with architect() rule directly instead of using ts_library with angular plugin:
        https://github.com/bazelbuild/rules_nodejs/tree/stable/examples/angular_bazel_architect.
      
      NB: ng_module is still required for angular/angular repository as it still builds ViewEngine & @angular/bazel
      also provides the ng_package rule. ng_module can be removed in the future if ViewEngine is no longer needed in
      angular repo.
      
      * JSModuleInfo provider added to ng_module. this is for forward compat for future rules_nodejs versions.
        @josephperrott, this touches `packages/bazel/src/external.bzl` which will make the sync to g3 non-trivial.
      
      PR Close #37727
      db56cf18
  32. Aug 04, 2020
  33. May 06, 2020
    • Paul Gschwendtner's avatar
      build: do not build runfile trees unnecessarily (#36914) · b7fb92a0
      Paul Gschwendtner authored
      Disables Bazel runfile tree creation. Only if a given
      execution strategy relies on runfile tree creation, the
      runfile tree is created lazily. This helps as currently
      Bazel spends unnecessary time on CI building runfile trees
      for tests which are cached and aren't re-run.
      
      The goal is to spend less time on CI for cached test/build
      targets. We can't measure impact yet as there are targets
      for the integration tests that hide the potential benefits.
      on the components repo a 80% time reduction could be observed.
      
      PR Close #36914
      b7fb92a0
  34. May 02, 2020