Commit Graph

1476 Commits

Author SHA1 Message Date
renovate[bot] 51d19b8349 chore(deps): update dependency astral-sh/uv to v0.12.8 (main) (#45580)
chore(deps): update dependency astral-sh/uv to v0.12.8

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.7 | 0.12.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-31 23:28:24 +00:00
renovate[bot] 7c351d208e chore(deps): update zizmor (main) (#45558)
chore(deps): update zizmor

| datasource  | package                   | from   | to     |
| ----------- | ------------------------- | ------ | ------ |
| docker      | ghcr.io/zizmorcore/zizmor | 1.29.0 | 1.30.0 |
| github-tags | zizmorcore/zizmor-action  | v0.6.2 | v0.6.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-30 22:29:28 +00:00
renovate[bot] 2b56b52933 chore(deps): update pnpm/setup action to v2.1.0 (main) (#45543)
chore(deps): update pnpm/setup action to v2.1.0

| datasource  | package    | from   | to     |
| ----------- | ---------- | ------ | ------ |
| github-tags | pnpm/setup | v2.0.2 | v2.1.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-29 00:28:18 +00:00
renovate[bot] 90df877c9c chore(deps): update dependency astral-sh/uv to v0.12.7 (main) (#45519)
chore(deps): update dependency astral-sh/uv to v0.12.7

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.6 | 0.12.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 22:36:59 +00:00
renovate[bot] 24556562d6 chore(deps): update github/codeql-action action to v4.37.9 (main) (#45484)
chore(deps): update github/codeql-action action to v4.37.9

| datasource  | package              | from    | to      |
| ----------- | -------------------- | ------- | ------- |
| github-tags | github/codeql-action | v4.37.8 | v4.37.9 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 09:46:10 +00:00
renovate[bot] f35acdd781 chore(deps): update dependency astral-sh/uv to v0.12.6 (main) (#45464)
chore(deps): update dependency astral-sh/uv to v0.12.6

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.5 | 0.12.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 20:20:34 +00:00
renovate[bot] 577ffcec28 chore(deps): update jdx/mise-action action to v4.3.0 (main) (#45442)
chore(deps): update jdx/mise-action action to v4.3.0

| datasource  | package         | from   | to     |
| ----------- | --------------- | ------ | ------ |
| github-tags | jdx/mise-action | v4.2.5 | v4.3.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 11:41:47 +00:00
renovate[bot] b7f19dc9a9 chore(deps): update github/codeql-action action to v4.37.8 (main) (#45386)
chore(deps): update github/codeql-action action to v4.37.8

| datasource  | package              | from    | to      |
| ----------- | -------------------- | ------- | ------- |
| github-tags | github/codeql-action | v4.37.7 | v4.37.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-21 13:37:06 +00:00
Jamie Tanna 34c7bcb7a5 ci: never restore caches into the release job
When running the Release job, we restore our `node_modules` cache via
`setup-node`. This leads to `semantic-release` executing - with
`contents: write`, `packages: write`, `id-token: write` and Docker Hub
credentials - the release process.

If we were to have a poisoned cache, this could lead to backdoored npm
packages and Docker images.

Although not currently exploitable, we should further harden this by:

- never using the cache for `release` jobs
- requiring a full `pnpm install --frozen-lockfile` on release jobs
- increasing the build time slightly on release jobs

This ensures that we don't leave ourselves vulnerable to cache poisoning
in the future.

It appears that zizmor's `cache-poisoning` audit covers this pattern,
but doesn't recognise a branch-push `semantic-release` job as a release
workflow, so won't flag regressions here.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna a00fef3069 ci: ensure lint-actions lints composite actions
As per the previous commit, we currently don't lint our composite
actions, but should do.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna 2d566bfe0b ci(ws_scan): pass Mend API key via WS_APIKEY environment variable
The Unified Agent scan passes `secrets.WS_ORG_TOKEN` as a `-apiKey`
CLI argument. Actions masks it in logs, but command-line arguments
are visible in the runner's process table to anything else running on
the machine.

As the Unified Agent reads any configuration parameter from a
`WS_`-prefixed environment variable, we can supply `WS_APIKEY` via
`env:` and drop the argument.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna 0bc5849acd ci(mend-slack): pass discussion timestamp to script via env
To avoid potentially expanding a `discussion.created_at` event, we can
make sure we don't interpolate it, by injecting it in via `env`.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna a0ad2d0d15 ci: pass secrets and inputs to release scripts via env
To reduce risk of template injection, we can pass secrets and inputs as
an `env` input, which avoids shell expansion and hardens our usage.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna 267c7fff95 ci: ensure that linting leads to test-success failure
To make sure that we cover these steps explicitly, we can add a check
for them in `test-success`.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna eeaa20fe2c ci: evaluate codecov fail_ci_if_error as an expression
As we're missing the `${{ }}`, we're passing in the literal string
`github.event_name ...` to `fail_ci_if_error` which may not evaluate as
expected.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna 27875b6bf7 ci: don't gate build-docs on lint-docs
So we can run them both in parallel, speeding up the overall run time.

This may lead to a case where we run `build-docs` in the case a linting
failure is hit, but it also allows running them both in parallel which
could save ~1m of wasted waiting time.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna 97c10ffcc9 ci: add restore-keys fallback for tsbuildinfo cache
Like the vitest cache, the tsbuildinfo cache in `lint-other` can only
restore entries whose key contains the current
`hashFiles('pnpm-lock.yaml')` — its existing `restore-keys` prefix
still embeds the hash — so every lockfile change makes `type-check`
run a full, rather than incremental, `tsc`.

We can add a bare `tsbuildinfo-` fallback after the existing
same-hash prefix, restoring the newest cache from before the lockfile
bump. tsc records the version of every input file in the buildinfo
and recompiles whatever changed, so a stale restore is safe.

We intentionally leave the similarly-shaped prettier cache without a
cross-hash fallback: prettier can't detect plugin changes, so the
lockfile hash in its key is the only thing invalidating its cache
when a plugin updates — a cross-hash restore could wrongly skip
reformatting files.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna a265d4a56e ci: add restore-keys fallback for vitest cache
The vitest cache key in `test` embeds `hashFiles('pnpm-lock.yaml')`
and has no `restore-keys`, so every lockfile change starts each test
shard fully cold, re-transforming the whole codebase. As Renovate
updates its own lockfile near-daily, this is the common case rather
than the exception.

Because `restore-keys` performs prefix matching, it can only wildcard
the end of a key, so we first reorder the key to put
`matrix.cache-key` before the lockfile hash. The fallback then means
"same shard, any lockfile". vitest validates restored entries itself
(transforms are keyed by content hash), so a stale restore degrades
to a rebuild, never a wrong result.

Due to the reorder, the first run after this change won't match any
existing cache entry, so will start cold once.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna 4dae13669d ci: don't gate lint-actions on setup-build
As `lint-actions` doesn't currently need any access to `pnpm` artifacts,
we can run this check earlier than needing to have `setup-build` (and a
cache hit or miss).

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
Jamie Tanna d1073f0bc8 ci: remove duplicated markdown-lint step from lint-docs
As we run the command earlier in the job, too.

Co-authored-by: Claude Fable 5 <jamie.tanna+claude-code@mend.io>
2026-08-18 11:04:13 +01:00
renovate[bot] fb225aa09f chore(deps): update dependency astral-sh/uv to v0.12.5 (main) (#45288)
chore(deps): update dependency astral-sh/uv to v0.12.5

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.4 | 0.12.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-14 20:26:56 +00:00
renovate[bot] 7e82bd7e13 chore(deps): update dependency astral-sh/uv to v0.12.4 (main) (#45275)
chore(deps): update dependency astral-sh/uv to v0.12.4

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.3 | 0.12.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-14 06:12:12 +00:00
Jamie Tanna eba4b3eed4 ci: auto-label PRs that have been dequeued from the Merge Queue (#45270)
As a way to get better visibility for - predominantly - transient issues
GitHub are having, via [0] we can auto-label PRs, so they can then be
picked up by a maintainer.

We can use the `-slim` runners, as this doesn't need much compute, and
it reduces ours and GitHub's costs.

[0]: https://www.jvt.me/posts/2026/08/11/github-merge-queue-prs/

Co-authored-by: Sonnet 5 <claude-code@jamietanna.co.uk>
2026-08-14 05:05:42 +00:00
renovate[bot] 1d2e37d91d chore(deps): update github/codeql-action action to v4.37.7 (main) (#45264)
chore(deps): update github/codeql-action action to v4.37.7

| datasource  | package              | from    | to      |
| ----------- | -------------------- | ------- | ------- |
| github-tags | github/codeql-action | v4.37.6 | v4.37.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-13 13:59:07 +00:00
renovate[bot] c3c0226281 chore(deps): update jdx/mise-action action to v4.2.5 (main) (#45262)
chore(deps): update jdx/mise-action action to v4.2.5

| datasource  | package         | from   | to     |
| ----------- | --------------- | ------ | ------ |
| github-tags | jdx/mise-action | v4.2.4 | v4.2.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-13 11:34:59 +00:00
Michael Kriese 6d4a5d38a0 ci(workflows): switch select workflows to ubuntu-slim runner (#45247)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 14:02:07 +00:00
renovate[bot] 30cd3d8b8c chore(deps): update pnpm/setup action to v2.0.2 (main) (#45178)
chore(deps): update pnpm/setup action to v2.0.2

| datasource  | package    | from   | to     |
| ----------- | ---------- | ------ | ------ |
| github-tags | pnpm/setup | v2.0.1 | v2.0.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-09 23:25:51 +00:00
renovate[bot] f1e08d3a1a chore(deps): update dependency astral-sh/uv to v0.12.3 (main) (#45139)
chore(deps): update dependency astral-sh/uv to v0.12.3

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.2 | 0.12.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-07 17:30:27 +00:00
renovate[bot] ed81456807 chore(deps): update pnpm/setup action to v2.0.1 (main) (#45129)
chore(deps): update pnpm/setup action to v2.0.1

| datasource  | package    | from   | to     |
| ----------- | ---------- | ------ | ------ |
| github-tags | pnpm/setup | v2.0.0 | v2.0.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-07 11:29:42 +00:00
renovate[bot] 0fb9ca8982 chore(deps): update slackapi/slack-github-action action to v4 (main) (#45107)
chore(deps): update slackapi/slack-github-action action to v4

| datasource  | package                      | from   | to     |
| ----------- | ---------------------------- | ------ | ------ |
| github-tags | slackapi/slack-github-action | v3.0.5 | v4.0.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 10:03:08 +00:00
renovate[bot] db7993707a chore(deps): update actions/checkout action to v7 (main) (#45105)
chore(deps): update actions/checkout action to v7

| datasource  | package          | from   | to     |
| ----------- | ---------------- | ------ | ------ |
| github-tags | actions/checkout | v6.1.0 | v7.0.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 08:04:23 +00:00
renovate[bot] 05939559c6 chore(deps): update codecov/codecov-action action to v7 (main) (#45106)
chore(deps): update codecov/codecov-action action to v7

| datasource  | package                | from   | to     |
| ----------- | ---------------------- | ------ | ------ |
| github-tags | codecov/codecov-action | v6.0.2 | v7.0.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 08:04:10 +00:00
renovate[bot] ec7aadbca9 chore(deps): update actions/cache action to v6 (main) (#45104)
chore(deps): update actions/cache action to v6

| datasource  | package       | from   | to     |
| ----------- | ------------- | ------ | ------ |
| github-tags | actions/cache | v5.1.0 | v6.1.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 08:03:38 +00:00
renovate[bot] 7840681f13 chore(deps): update dependency astral-sh/setup-uv to v9 (main) (#45100)
chore(deps): update dependency astral-sh/setup-uv to v9

| datasource  | package            | from   | to     |
| ----------- | ------------------ | ------ | ------ |
| github-tags | astral-sh/setup-uv | v8.3.2 | v9.0.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 07:57:38 +00:00
renovate[bot] da0534a932 chore(deps): update pnpm/setup action to v2 (main) (#45102)
chore(deps): update pnpm/setup action to v2

| datasource  | package    | from   | to     |
| ----------- | ---------- | ------ | ------ |
| github-tags | pnpm/setup | v1.0.0 | v2.0.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 06:28:50 +00:00
renovate[bot] 09fb3c489e chore(deps): update dependency astral-sh/uv to v0.12.2 (main) (#45097)
chore(deps): update dependency astral-sh/uv to v0.12.2

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.1 | 0.12.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-05 20:32:29 +00:00
Jamie Tanna 144ba373a4 ci: migrate to pnpm/setup (#45035)
* ci: migrate to `pnpm/setup`

As part of ongoing issues we're seeing related to
https://github.com/pnpm/action-setup/issues/277, we've fixed this
upstream. However, while investigating, the README notes that the
`pnpm/setup` Action should be used for pnpm 11+.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fixup! ci: migrate to `pnpm/setup`

---------

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-05 14:41:20 +00:00
renovate[bot] 52c5ba26c8 chore(deps): update github/codeql-action action to v4.37.6 (main) (#45066)
chore(deps): update github/codeql-action action to v4.37.6

| datasource  | package              | from    | to      |
| ----------- | -------------------- | ------- | ------- |
| github-tags | github/codeql-action | v4.37.5 | v4.37.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-04 14:44:47 +00:00
renovate[bot] 87ee522cae chore(deps): update pnpm/action-setup action to v6.0.10 (main) (#45038)
chore(deps): update pnpm/action-setup action to v6.0.10

| datasource  | package           | from   | to      |
| ----------- | ----------------- | ------ | ------- |
| github-tags | pnpm/action-setup | v6.0.9 | v6.0.10 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-03 12:36:26 +00:00
renovate[bot] 3cc91b0063 chore(deps): update github/codeql-action action to v4.37.5 (main) (#45036)
chore(deps): update github/codeql-action action to v4.37.5

| datasource  | package              | from    | to      |
| ----------- | -------------------- | ------- | ------- |
| github-tags | github/codeql-action | v4.37.4 | v4.37.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-03 11:34:39 +00:00
Jamie Tanna d396090231 ci: remove auto:pls-merge-main (#44964)
As it doesn't work, as commits from `github-actions[bot]` can't be used
to trigger CI, and we don't want to use a PAT (as it'll then shows as
an author on PRs).
2026-08-02 22:12:59 +00:00
renovate[bot] 2e669257ac chore(deps): update zizmor (main) (#45010)
chore(deps): update zizmor

| datasource  | package                   | from   | to     |
| ----------- | ------------------------- | ------ | ------ |
| docker      | ghcr.io/zizmorcore/zizmor | 1.28.0 | 1.29.0 |
| github-tags | zizmorcore/zizmor-action  | v0.6.1 | v0.6.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-01 22:28:41 +00:00
renovate[bot] d94d55e105 chore(deps): update jdx/mise-action action to v4.2.4 (main) (#45008)
chore(deps): update jdx/mise-action action to v4.2.4

| datasource  | package         | from   | to     |
| ----------- | --------------- | ------ | ------ |
| github-tags | jdx/mise-action | v4.2.3 | v4.2.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-01 11:28:12 +00:00
renovate[bot] 292f98b68d chore(deps): update dependency astral-sh/uv to v0.12.1 (main) (#45002)
chore(deps): update dependency astral-sh/uv to v0.12.1

| datasource      | package      | from   | to     |
| --------------- | ------------ | ------ | ------ |
| github-releases | astral-sh/uv | 0.12.0 | 0.12.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-31 20:30:08 +00:00
renovate[bot] 3ea610a70a chore(deps): update github/codeql-action action to v4.37.4 (main) (#44961)
chore(deps): update github/codeql-action action to v4.37.4

| datasource  | package              | from    | to      |
| ----------- | -------------------- | ------- | ------- |
| github-tags | github/codeql-action | v4.37.3 | v4.37.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-30 10:31:12 +00:00
Jamie Tanna 710913e218 ci: don't allow breaking changes in PR commit messages (#44944)
Renovate 44.0.0 was incorrectly released from #44004 due to the
`BREAKING ...` reference in the commit message.

Renovate uses Squash Merge as our method for merging commits into
`main`, and when enabled with the Merge Queue[0], this doesn't provide
maintainers with the ability to inspect the commit messages before
merging (which would be the case if not using the Merge Queue, we would
likely rewrite the commit message prior to merge.

With this in mind, Renovate maintainers often don't inspect the commit
messages, allowing them to stay as they are, as they'll be squashed into
the final commit.

In the case of #44004, this led to us missing the `BREAKING ...`
trailing message - from changes that were split into #44939 - and
because of this, semantic-release published this as a major release.

As a means to prevent this happening again, we can introduce a CI check
that performs a full `semantic-release --dry-run` programatically, so we
can avoid relying on log lines from `semantic-release`.

This then flags if there is a suggested major release, and if so,
rejecting it.

Co-authored-by: Claude Opus 4.8 (1M context) <jamie.tanna+claude-code@mend.io>
2026-07-29 14:39:20 +00:00
renovate[bot] 5b56a5a3ba chore(deps): update dependency astral-sh/uv to v0.12.0 (main) (#44927)
chore(deps): update dependency astral-sh/uv to v0.12.0

| datasource      | package      | from    | to     |
| --------------- | ------------ | ------- | ------ |
| github-releases | astral-sh/uv | 0.11.33 | 0.12.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 19:31:09 +00:00
renovate[bot] e41e31525a chore(deps): update dependency astral-sh/uv to v0.11.33 (main) (#44912)
chore(deps): update dependency astral-sh/uv to v0.11.33

| datasource      | package      | from    | to      |
| --------------- | ------------ | ------- | ------- |
| github-releases | astral-sh/uv | 0.11.32 | 0.11.33 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 11:35:00 +00:00
Sebastian Poxhofer c99196de0f ci: do not verfiy lockfile policies on matrix run (#44847) 2026-07-25 15:40:55 +00:00
renovate[bot] 5a1925feea chore(deps): update jdx/mise-action action to v4.2.3 (main) (#44836)
chore(deps): update jdx/mise-action action to v4.2.3

| datasource  | package         | from   | to     |
| ----------- | --------------- | ------ | ------ |
| github-tags | jdx/mise-action | v4.2.2 | v4.2.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 20:37:08 +00:00