Add @bazel/ibazel to the ignored deps list for renovate to prevent us from updating to a version that
is incompatible with our repository.
PR Close#59761
There is an unidentified issue causing the Yarn binary to be altered, resulting in packages not installing correctly and leading to failures in the process.
PR Close#58497
Due to a bug in Renovate (see: 276a01fdd7/lib/util/exec/common.ts (L50-L53)), post tasks are incorrectly running in parallel. This causes 'yarn install' to overlap with 'yarn ng-dev misc update-generated-files', resulting in incomplete installs before file updates start.
PR Close#58472
This change modifies the execution level of `postUpgradeTasks` in Renovate. By setting `executionMode` to `branch`, the task will run once per branch, rather than for each dependency update. This helps streamline tasks across dependencies by consolidating them at the branch level.
PR Close#58470
Dev-infra recently upgraded to Renovate version 38. This update causes `matchDepPatterns` to only accept RegExp. Since we require a glob pattern, we will now use `matchPackageNames`, which supports glob patterns and is already used in the configuration.
This commit addresses a warning in Renovate regarding a deprecated behavior that will be phased out in the future.
```
WARNING: To prevent future issues, replace the usage of matchPackagePatterns with matchDepPatterns (repository=angular/angular, baseBranch=main)
"packageRule": {
"matchPackagePatterns": ["^@bazel/.*", "^build_bazel.*"],
"groupName": "bazel setup",
"schedule": ["at any time"]
},
"packageName": "bazelbuild/rules_nodejs",
"depName": "build_bazel_rules_nodejs"
```
PR Close#55683
This commit removes the 'stopUpdatingLabel' option from Renovate settings. This option caused pull requests to not automatically rebase when conflicting.
PR Close#55683
Partial revert of #54891. Webcontainers do not support node ^18.19.1 which is required by the v18 CLI.
Until this is solved by the stackblitz team, we're stucked with v17 based tutorials
PR Close#55437
This breaks renovate
```
### ⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
##### File name: packages/zone.js/test/typings/yarn.lock
```
error Package "zone.js" refers to a non-existing file '"/tmp/renovate/repos/github/angular/angular/dist/bin/packages/zone.js/npm_package"'.
```
PR Close#55433
Since the PR is always expected to be ready to merge as renovate won't make changes in response to any sort of comment, it should already be marked as merge ready
PR Close#54947
This commit removes the NGCC code and all the related infra setup required to support it.
BREAKING CHANGE: Angular Compatibility Compiler (ngcc) has been removed and as a result Angular View Engine libraries will no longer work
PR Close#49101
This commit does three things that all related and required to get
rid of `webdriver-manager`:
* Our puppeteer protractor setup in AIO relies on webdriver-manager
because we install a corresponding chromedriver based on the puppeteer
chromium version. We would like to get rid of this brittle setup.
* We don't use `puppeteer` in many places because we manage chromium and
the driver through Bazel. This commit removes the remaining puppeteer
usage and replaces it with the Bazel-managed canonical browser
* We need to migrate the AIO production URL tests to Bazel. These
weren't part of Aspect's migration. This is needed so that we can drop
puppeteer and use the Bazel browser setup.
* Migrates some at-runtime TS `ts-node` test setup to proper idiomatic
Bazel code. Needed because it depends on code that also had to be
migrated to Bazel given the production e2e test Bazel migration (above
points).
Note: The xregexp dependency had to be added to the root project because
`ts_library` does not support compilation deps from `@aio_npm`. This is
something we will fix anyway when we have a more modern toolchain!
PR Close#49025
Since Renovate runs from the project directory, it cannot find the
`sync-deps` yarn script inside `aio/tools/examples/shared/`:
[example failure][1]
Update the post-upgrade task command to run inside that directory
instead of the project root.
[1]: https://github.com/angular/angular/pull/46707#issuecomment-1203335639
PR Close#47040
All docs examples share the same `node_modules/` (symlinked into each
example from `aio/tools/examples/shared/node_modules/`). However, each
example type has a different `package.json`, which comes from
`aio/tools/examples/shared/boilerplate/*`). In order to ensure that the
dependencies in each example's `package.json` are the same as the ones
in the symlinked `node_modules/` (i.e. the ones that CI tests are run
with), we have a script (`yarn run sync-deps`) that can sync
dependencies from `shared/package.json` into the boilerplate
`package.json` files.
Previously, this script had to be run manually, which was easy to
forget/not know about and resulted in the boilerplate dependencies
often being out-of-sync with the ones in `shared/package.json` (and by
extension, the ones that were actually installed in `node_modules/`).
This commit helps keep the boilerplate dependencies up-to-date in the
following ways:
- Adds the `sync-deps` script to the `postinstall` scripts.
This ensures that dependencies remain in sync whenever someone
manually updates dependencies in `shared/package.json`.
- Runs the `sync-deps` script as a Renovate post-upgrade task.
This ensures that the depenencies remain in sync whenever Renovate
updates dependencies in `shared/package.json`.
For more info on configuring post-upgrade tasks in Renovate, see:
- [postUpgradeTasks][1]
- [allowedPostUpgradeCommands][2]
- [allowPostUpgradeCommandTemplating][3]
NOTE:
For the Renovate change to take effect, the [global config][4] in
`angular/dev-infra` also needs to be updated. This will be done in a
separate PR.
[1]: https://docs.renovatebot.com/configuration-options/#postupgradetasks
[2]: https://docs.renovatebot.com/self-hosted-configuration/#allowedpostupgradecommands
[3]: https://docs.renovatebot.com/self-hosted-configuration/#allowpostupgradecommandtemplating
[4]: 22d3067021/.github/ng-renovate/runner-config.js
PR Close#47009
The commit body table by Renovate is sometimes not generated e.g. when
just dev-infra is being updated. In order to make our lint job happy
for such dev-infra updates, we should use an explicit message that is
at least 20 characters long.
PR Close#46676
We want to enable the Renovate dashboard to be able to trigger updates
which might be out of schedule, or to see if some updates are
stuck/pending, or to be able to rebase/try previously closed PRs.
PR Close#46695
We recently switched Renovate from upstream branches to operate in
forks. Given that change, the `ng-dev commit-message` lint now also
applies to the auto-created PRs. The default Renovate commits do not
have any body and fail our ng-dev commit message minimum lint.
Other repositories do not have this, but framework has, so we enable
a renovate option to append the update table to the commit message body.
This is actually also a good thing as it captures what is directly
merged. The PR description is not necessarily matching.
PR Close#46611
This commits proposes two changes:
* Avoid Renovate from updating peer dependencies using the `@next` tag.
* Group Angular eslint packages to avoid spamming
* Avoid updating `package.json` files for the bazel integration tests.
Instead only the `WORKSPACE` files should be updated.
PR Close#46553
It looks like renovate does not send PRs for a couple of weeks now,
looking at the renovate dashboard there seem to be errors but the
logs cannot be viewed. Running the renovate config validation tool
locally indicates that schedules should be changed.
When we changed the schedules in
8d7351d939, the `@beejs/later` text
schedules have changed, but result in parse errors (also verified
locally by running the tool).
PR Close#46486
We recently aggressively limited Renovate to only two days and set the
hourly limit to one. This resulted in e.g. Angular not being updated
for quite a while now, as well as missing out on e.g. dev-infra updates
which should happen as often as possible.
This commit reworks the config to (1) avoid legacy syntax and (2) to
update Angular-cross repo depsas often as possible. Also groups Bazel
dependencies better and attempts to fix the non-working Babel dep
grouping.
PR Close#46437
This is the commit accounting for the Github primary branch
rename when we actually perform the update.
We have three change phases: Prepare, Direct, Cleanup. This commit
is for the `direct` phase.
By running renovate once a week, we can consolidate all the updates into a single weekly PR, before each Wednesday release. That will significantly reduce the burden on caretakers, and make patch ports less onerous.
PR Close#45605
Sometimes Renovate proposes an update and we need to add some
manual fixups, like updating a size golden. For this we push to
same upstream branch.
Renovate will update the PR though when another new revision/version
becomes available, overriding the fixup and discarding it.
This happened quite often now and causes significantly more
work required by the dev-infra time..
PR Close#45204
Automatic updating of Babel was disabled because there were build failures
when using the latest version of Babel, but these have been resolved in
#44931. This commit removes Babel packages from Renovate's ignored list
to allow automatic updates again.
PR Close#44931
Previously devtools used a nested workspace for its bazel configurations. This meant framework dependencies were consumed via npm.
Now devtools is part of the root bazel directory that all other files in this codebase fall under. This allows us to build devtools using local angular packages, removing the need to consume these dependencies with npn. This is useful because we no longer have to update these dependencies with an automated tool like renovate, and our CI tests will always run against the most up to date framework packages.
Previously angular devtools was using its own renovate configuration to keep up to date. After transfering to angular/angular, we can use the renovate configuration in angular/angular to update our dependencies. In an end state we would build devtools with local Angular packages.
Renovate currently always applies the minor label. This often causes
the patch/FF/RC branches to quickly diverge. We should always apply
the patch label with the goal of keeping infra-related changes in sync
as much as possible.. Then it is still possible to selectively apply the
minor/major label if needed (this forces the reviewer to actually think
about where this should go in, if it fails!).
PR Close#44065
The Angular v12 alias packages should not be accidentally updated to
v13 by Renovate. These packages are still used by tests for e.g. Ngcc
and should continue to provide the APF v12 View Engine output.
PR Close#44054
The most recent versions of remark have significant breaking changes
that we are not ready to incorporate. So this commit adds them to the ignore list.
PR Close#43735
This group was causing an immortal PR to keep being created, even though
we do not want, currently, to update the versions of the "remark*" packages.
PR Close#43735
This commit removes `ts-api-guardian` from the repository. We introduced
a new tool for testing API signature that is part of the shared
dev-infra package. The TS API guardian package will be deprecated for
the public in favor of Microsoft's API extractor that has support for
more parts of the syntax, such as alias exports.
PR Close#42735
Rollup just prints a warning if an import cannot be resolved and ends up
being treated as an external dependency. This in combination with the
`silent = True` attribute for `rollup_bundle` means that bundles might
end up being extremely small without people noticing that it misses
actual imports.
To improve this situation, the warning is replaced by an error if
an import cannot be resolved.
This unveiles an issue with the `ng_rollup_bundle` macro from
dev-infra where imports in View Engine were not resolved but ended
up being treated as external. This did not prevent benchmarks using
this macro from working because the ConcatJS devserver had builtin
resolution for workspace manifest paths. Though given the new check
for no unresolved imports, this will now cause errors within Rollup, and
we need to fix the resolution. We can fix the issue by temporarily
enabling workspace linking. This does not have any performance
downsides.
To enable workspace linking (which we might need more often in the
future given the linker taking over patched module resolution), we
had to rename the `angular` dependency to a more specific one so
that the Angular linker could link into `node_modules/angular`.
PR Close#42760