Commit Graph

22 Commits

Author SHA1 Message Date
Jamie Tanna 5b1749983c feat: always set CI=true for subprocesses
As noted in #43761, we had recently set `CI=true` for the Renovate and
Containerbase orgs on Mend-hosted apps due to a pnpm v11 requirement:

    ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY  Aborted removal of
      modules directory due to no TTY

    If you are running pnpm in CI, set the CI environment variable to
      "true", or set "confirmModulesPurge" to "false".

Similarly in #43606, it was noted that we should do this for `mise lock`
to mark the workspace as "trusted".

Although we went with a different situation, there will be cases where
this is useful for tools being executed, for instance when we invoke `yarn`.

We also make sure to keep our documentation up-to-date as we add to the
specific overrides.

With help from Claude Sonnet and Opus to:

- perform some of the mechanical updates as part of this change
- ensure that the Docker sidecar always has `hardcodedProcessEnv` passed
  into it
- catch a needed change to `exposeAllEnv` handling

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-24 17:21:24 +01:00
Sebastian Poxhofer 7436b80cda test(linter): add renovate/no-redundant-mock-reset rule (#44557)
ci(linter): add renovate/no-redundant-mock-reset rule

Vitest sets mockReset: true globally in vitest.config.mts, which resets
all mocks before each test. This makes vi.resetAllMocks() /
vi.clearAllMocks() and per-mock .mockReset() / .mockClear() calls inside
beforeEach/afterEach hooks redundant. Add a custom oxlint rule (enabled
for **/*.spec.ts and test/**) flagging such calls, and remove the 40
redundant calls it found. restoreAllMocks/mockRestore are not flagged
because restoreMocks is not enabled globally.

Two sites keep an inline disable with a reason: nested beforeEach hooks
in filter-checks.spec.ts and onboarding/pr/index.spec.ts intentionally
call mockReset() to discard once-values queued by an outer beforeEach.

Requested by maintainer review feedback (review comment 3052324877).

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 11:26:20 +00:00
renovate[bot] 9245b57c58 chore(deps): update linters to v1.67.0 (main) (#42416)
* chore(deps): update linters to v1.67.0

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | oxlint  | 1.57.0 | 1.67.0 |

* test(oxlint): deactivate new tests for now

* fixup linting errors

* revert googleAuth mock implementation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
2026-06-06 14:09:05 +00:00
Sergei Zharinov 930cf6633c refactor: Rewrite imports with .ts extensions (#40700)
fix: Additional vi.mock path corrections and prettier formatting
2026-01-26 22:48:17 +00:00
Jamie Tanna 9f3db00d1a fix(util/exec): allow ignoring failures per-command (#40290)
As part of future changes which will fix issues with Composer + Yarn 1
introduced by f430552de4, we need to find
a way to ignore command failure, on a per-command basis.

To do this, we can provide a refactor to introduce a new type,
`CommandWithOptions` which has the ability to specify whether to
`ignoreFailure`.

To make this less of a refactor than would otherwise require, we can
pass around a `(string | CommandWithOptions)[]`
(or a `string[]` or a `CommandWithOptions[]`) to be used, and use
helpers `asRawCommand` and `asRawCommands` to extract the underlying
command where necessary.

In the case a command's failure is being ignored, return the error code
in the `ExecResult`.

We also need to make sure that when executing in Docker, we still
provide the `|| true`s, otherwise we'll start to see commands failing
unexpectedly.

As part of future-proofing the `CommandWithOptions`, we can make sure
that it uses `string[]`s for the command it's representing, to avoid
re-parsing it.
2026-01-08 09:36:06 +00:00
Michael Kriese 19c115c813 test: cleanup (#34785) 2025-03-13 17:52:09 +00:00
Michael Kriese 997c23502e test: migrate to vitest (#34475)
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2025-02-26 09:35:54 +00:00
Antony David 607d7e3e1b refactor: migrate traverse to neotraverse (#30573) 2024-08-05 09:49:05 +00:00
Michael Kriese 3d2cabb3ce test: fix jest wrapper (#27636) 2024-02-29 15:04:58 +00:00
Sergei Zharinov b69416ce17 refactor(prettier): Force trailing commas (#25631) 2023-11-07 15:50:29 +00:00
Gabriel-Ladzaretti cb53e18de8 chore(util/exec): remove unneeded renaming related TODOs (#17399) 2022-08-25 06:43:13 +00:00
Gabriel-Ladzaretti 892595aea8 feat(util/exec): use spawn instead of exec (#16414)
* refactor(util): use spawn instead of exec

 - Use child_process.spawn instead of child_process.exec

* refactor(util): use spawn instead of exec

 - Use child_process.spawn instead of child_process.exec

* refactor(util): use spawn instead of exec

 - Use child_process.spawn instead of child_process.exec

* refactor(util): use spawn instead of exec

 - Use child_process.spawn instead of child_process.exec

* refactor(util): use spawn instead of exec

 - init spawn-util

* refactor(util): use spawn instead of exec

 - spawn-util

* refactor(util): use spawn instead of exec

 - init index-spawn.spec.ts

* refactor(util): use spawn instead of exec

 - fixed various tests

* refactor(util): use spawn instead of exec

 - fix all artifacts.spec.ts

* refactor(util): use spawn instead of exec

 - fix all artifacts.spec.ts

* refactor(util): use spawn instead of exec

 - fix npm post update imports

* refactor(util): use spawn instead of exec

 - revert renaming to minimize PR diff

* refactor(util): use spawn instead of exec

 - revert renaming to minimize PR diff

* refactor(util): use spawn instead of exec

 - revert renaming to minimize PR diff

* refactor(util): use spawn instead of exec

 - revert renaming to minimize PR diff

* refactor(util): use spawn instead of exec

 - revert renaming to minimize PR diff
 - destroy stdio when terminating child process

* refactor(util): use spawn instead of exec

 - delete and revert dev related changes

* refactor(util): use spawn instead of exec
 - fix support for windows

* refactor(util): use spawn instead of exec

 - handle SIGSTOP and such
 - add test coverage

* refactor(util): use spawn instead of exec

 - now converts to strings when resolving/rejecting

* refactor(util): use spawn instead of exec

 - logs improvements
 - force shell (exec like)
 - fix tests

* refactor(util): use spawn instead of exec

 - strongly type listeners

* refactor(util): use spawn instead of exec

 - create helper mock for spawn

* refactor(util): use spawn instead of exec

 - cr changes

* Update lib/util/exec/common.ts

Co-authored-by: Sergei Zharinov <zharinov@users.noreply.github.com>

* refactor(util): use spawn instead of exec

 - documentation

* refactor(util): use spawn instead of exec

 - revert unnecessary formatting

* refactor(util): use spawn instead of exec

* refactor(util): use spawn instead of exec

 - added ExecError class

* refactor(util): use spawn instead of exec

 - exec-error.ts restructure

* refactor(util): use spawn instead of exec

* Apply suggestions from code review

Co-authored-by: Sergei Zharinov <zharinov@users.noreply.github.com>

* refactor(util): use spawn instead of exec

* refactor(util): use spawn instead of exec

* refactor(util): use spawn instead of exec

 - deprecated RawExecOptions.encoding property

* refactor(util): use spawn instead of exec

* refactor(util): use spawn instead of exec

* refactor(util): use spawn instead of exec

Co-authored-by: Sergei Zharinov <zharinov@users.noreply.github.com>
2022-07-22 15:43:28 +00:00
Michael Kriese 6c78237993 test: simplify exec mock (#16698) 2022-07-22 07:42:30 +00:00
Gabriel-Ladzaretti 6202b1c264 refactor(util/exec): change mocked modules in existing tests (#16519) 2022-07-11 11:41:24 +02:00
Michael Kriese a51baaf8af fix(manager:npm): patch local yarn v1 binary (#15440)
* test: fix mocks

* fix(manager:npm): patch local yarn v1 binary
2022-05-04 10:28:37 +00:00
RahulGautamSingh 4f65b57225 refactor: refactor static regex out of for loops (#13065) 2021-12-29 07:26:13 +01:00
Michael Kriese 2b24a98359 refactor: update imports for esm (#13230)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2021-12-22 08:37:47 +00:00
Sergei Zharinov 995df4d9a7 refactor(util/exec): Fix strict null errors (#12909)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2021-12-10 15:07:02 +01:00
Rhys Arkins 328de3fc27 refactor: exec types (#12942) 2021-12-04 07:12:27 +01:00
HonkingGoose ab018191fa chore: report and fix unused ESLint disable directives (#12548) 2021-11-08 20:20:03 +01:00
RahulGautamSingh 91f067b39f fix: refactor regex to use re2 part3 (#12283)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2021-10-27 14:37:11 +00:00
Rhys Arkins 00a08225b9 refactor: use ls-lint (#7956) 2020-12-11 13:29:43 +01:00