Commit Graph

1261 Commits

Author SHA1 Message Date
Thomas Eizinger
a7ef588d86 chore: release headless client 1.4.8 (#9131) 2025-05-14 06:17:29 +00:00
Thomas Eizinger
5a4e72954f chore: release GUI client 1.4.13 (#9130) 2025-05-14 06:09:01 +00:00
Thomas Eizinger
87b3ed9857 ci: test new lychee action (#9107)
Helping the lychee team test some new changes.

Related: https://github.com/lycheeverse/lychee-action/pull/292
2025-05-13 01:57:55 +00:00
Thomas Eizinger
656f5db1d0 ci(rust): add timeout to GUI smoke tests (#9085)
These don't have an inherent timeout so the CI job gets stuck forever.
They typically finish in about a minute.
2025-05-12 11:30:52 +00:00
Thomas Eizinger
575e974547 ci: limit docker compose parallelism (#9082) 2025-05-12 02:44:34 +00:00
Thomas Eizinger
117881adfe ci: reduce link checker concurrency (#9076)
Our link checker `lychee` doesn't appear to de-duplicate requests to the
same URL which causes 429 errors with GitHub. To workaround this, we
reduce the concurrency to 1 and activate `lychee`'s cache. This cache is
just a file on disk. We don't need to actually save this in GitHub
actions' cache because all we want is for lychee to not make a request
to same URL again in the same session.

Related: https://github.com/lycheeverse/lychee-action/issues/289
2025-05-12 02:42:37 +00:00
Thomas Eizinger
5566f1847f refactor(rust): move crates into a more sensical hierarchy (#9066)
The current `rust/` directory is a bit of a wild-west in terms of how
the crates are organised. Most of them are simply at the top-level when
in reality, they are all `connlib`-related. The Apple and Android FFI
crates - which are entrypoints in the Rust code are defined several
layers deep.

To improve the situation, we move around and rename several crates. The
end result is that all top-level crates / directories are:

- Either entrypoints into the Rust code, i.e. applications such as
Gateway, Relay or a Client
- Or crates shared across all those entrypoints, such as `telemetry` or
`logging`
2025-05-12 01:04:17 +00:00
Thomas Eizinger
c20cc779ac refactor(gui-client): inline -common crate (#9022)
In order to experiment with alternative GUI libraries, we extracted a
`gui-client-common` crate that would hold GUI-library agnostic code.
We've since upgraded to Tauri v2 and settled on that as the GUI
framework for the Windows and Linux Firezone Clients. Therefore this
abstraction is unnecessary and can be removed again.

This makes it easier to work on the GUI client and also allows the
compiler to flag unused code more easily.
2025-05-06 02:28:03 +00:00
dependabot[bot]
bea57c02c4 build(deps): bump libc from 0.2.171 to 0.2.172 in /rust (#9031)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.171 to 0.2.172.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/releases">libc's
releases</a>.</em></p>
<blockquote>
<h2>0.2.172</h2>
<h3>Added</h3>
<ul>
<li>Android: Add <code>getauxval</code> for 32-bit targets (<a
href="https://redirect.github.com/rust-lang/libc/pull/4338">#4338</a>)</li>
<li>Android: Add <code>if_tun.h</code> ioctls (<a
href="https://redirect.github.com/rust-lang/libc/pull/4379">#4379</a>)</li>
<li>Android: Define <code>SO_BINDTOIFINDEX</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4391">#4391</a>)</li>
<li>Cygwin: Add <code>posix_spawn_file_actions_add[f]chdir[_np]</code>
(<a
href="https://redirect.github.com/rust-lang/libc/pull/4387">#4387</a>)</li>
<li>Cygwin: Add new socket options (<a
href="https://redirect.github.com/rust-lang/libc/pull/4350">#4350</a>)</li>
<li>Cygwin: Add statfs &amp; fcntl (<a
href="https://redirect.github.com/rust-lang/libc/pull/4321">#4321</a>)</li>
<li>FreeBSD: Add <code>filedesc</code> and <code>fdescenttbl</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4327">#4327</a>)</li>
<li>Glibc: Add unstable support for _FILE_OFFSET_BITS=64 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4345">#4345</a>)</li>
<li>Hermit: Add <code>AF_UNSPEC</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4344">#4344</a>)</li>
<li>Hermit: Add <code>AF_VSOCK</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4344">#4344</a>)</li>
<li>Illumos, NetBSD: Add <code>timerfd</code> APIs (<a
href="https://redirect.github.com/rust-lang/libc/pull/4333">#4333</a>)</li>
<li>Linux: Add <code>_IO</code>, <code>_IOW</code>, <code>_IOR</code>,
<code>_IOWR</code> to the exported API (<a
href="https://redirect.github.com/rust-lang/libc/pull/4325">#4325</a>)</li>
<li>Linux: Add <code>tcp_info</code> to uClibc bindings (<a
href="https://redirect.github.com/rust-lang/libc/pull/4347">#4347</a>)</li>
<li>Linux: Add further BPF program flags (<a
href="https://redirect.github.com/rust-lang/libc/pull/4356">#4356</a>)</li>
<li>Linux: Add missing INPUT_PROP_XXX flags from
<code>input-event-codes.h</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4326">#4326</a>)</li>
<li>Linux: Add missing TLS bindings (<a
href="https://redirect.github.com/rust-lang/libc/pull/4296">#4296</a>)</li>
<li>Linux: Add more constants from <code>seccomp.h</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4330">#4330</a>)</li>
<li>Linux: Add more glibc <code>ptrace_sud_config</code> and related
<code>PTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIG</code>. (<a
href="https://redirect.github.com/rust-lang/libc/pull/4386">#4386</a>)</li>
<li>Linux: Add new netlink flags (<a
href="https://redirect.github.com/rust-lang/libc/pull/4288">#4288</a>)</li>
<li>Linux: Define ioctl codes on more architectures (<a
href="https://redirect.github.com/rust-lang/libc/pull/4382">#4382</a>)</li>
<li>Linux: Add missing <code>pthread_attr_setstack</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4349">#4349</a>)</li>
<li>Musl: Add missing <code>utmpx</code> API (<a
href="https://redirect.github.com/rust-lang/libc/pull/4332">#4332</a>)</li>
<li>Musl: Enable <code>getrandom</code> on all platforms (<a
href="https://redirect.github.com/rust-lang/libc/pull/4346">#4346</a>)</li>
<li>NuttX: Add more signal constants (<a
href="https://redirect.github.com/rust-lang/libc/pull/4353">#4353</a>)</li>
<li>QNX: Add QNX 7.1-iosock and 8.0 to list of additional cfgs (<a
href="https://redirect.github.com/rust-lang/libc/pull/4169">#4169</a>)</li>
<li>QNX: Add support for alternative Neutrino network stack
<code>io-sock</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4169">#4169</a>)</li>
<li>Redox: Add more <code>sys/socket.h</code> and <code>sys/uio.h</code>
definitions (<a
href="https://redirect.github.com/rust-lang/libc/pull/4388">#4388</a>)</li>
<li>Solaris: Temporarily define <code>O_DIRECT</code> and
<code>SIGINFO</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4348">#4348</a>)</li>
<li>Solarish: Add <code>secure_getenv</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4342">#4342</a>)</li>
<li>VxWorks: Add missing <code>d_type</code> member to
<code>dirent</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4352">#4352</a>)</li>
<li>VxWorks: Add missing signal-related constsants (<a
href="https://redirect.github.com/rust-lang/libc/pull/4352">#4352</a>)</li>
<li>VxWorks: Add more error codes (<a
href="https://redirect.github.com/rust-lang/libc/pull/4337">#4337</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>FreeBSD: Deprecate <code>TCP_PCAP_OUT</code> and
<code>TCP_PCAP_IN</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4381">#4381</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Cygwin: Fix member types of <code>statfs</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4324">#4324</a>)</li>
<li>Cygwin: Fix tests (<a
href="https://redirect.github.com/rust-lang/libc/pull/4357">#4357</a>)</li>
<li>Hermit: Make <code>AF_INET = 3</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4344">#4344</a>)</li>
<li>Musl: Fix the syscall table on RISC-V-32 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4335">#4335</a>)</li>
<li>Musl: Fix the value of <code>SA_ONSTACK</code> on RISC-V-32 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4335">#4335</a>)</li>
<li>VxWorks: Fix a typo in the <code>waitpid</code> parameter name (<a
href="https://redirect.github.com/rust-lang/libc/pull/4334">#4334</a>)</li>
</ul>
<h3>Removed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/blob/0.2.172/CHANGELOG.md">libc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/libc/compare/0.2.171...0.2.172">0.2.172</a>
- 2025-04-14</h2>
<h3>Added</h3>
<ul>
<li>Android: Add <code>getauxval</code> for 32-bit targets (<a
href="https://redirect.github.com/rust-lang/libc/pull/4338">#4338</a>)</li>
<li>Android: Add <code>if_tun.h</code> ioctls (<a
href="https://redirect.github.com/rust-lang/libc/pull/4379">#4379</a>)</li>
<li>Android: Define <code>SO_BINDTOIFINDEX</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4391">#4391</a>)</li>
<li>Cygwin: Add <code>posix_spawn_file_actions_add[f]chdir[_np]</code>
(<a
href="https://redirect.github.com/rust-lang/libc/pull/4387">#4387</a>)</li>
<li>Cygwin: Add new socket options (<a
href="https://redirect.github.com/rust-lang/libc/pull/4350">#4350</a>)</li>
<li>Cygwin: Add statfs &amp; fcntl (<a
href="https://redirect.github.com/rust-lang/libc/pull/4321">#4321</a>)</li>
<li>FreeBSD: Add <code>filedesc</code> and <code>fdescenttbl</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4327">#4327</a>)</li>
<li>Glibc: Add unstable support for _FILE_OFFSET_BITS=64 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4345">#4345</a>)</li>
<li>Hermit: Add <code>AF_UNSPEC</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4344">#4344</a>)</li>
<li>Hermit: Add <code>AF_VSOCK</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4344">#4344</a>)</li>
<li>Illumos, NetBSD: Add <code>timerfd</code> APIs (<a
href="https://redirect.github.com/rust-lang/libc/pull/4333">#4333</a>)</li>
<li>Linux: Add <code>_IO</code>, <code>_IOW</code>, <code>_IOR</code>,
<code>_IOWR</code> to the exported API (<a
href="https://redirect.github.com/rust-lang/libc/pull/4325">#4325</a>)</li>
<li>Linux: Add <code>tcp_info</code> to uClibc bindings (<a
href="https://redirect.github.com/rust-lang/libc/pull/4347">#4347</a>)</li>
<li>Linux: Add further BPF program flags (<a
href="https://redirect.github.com/rust-lang/libc/pull/4356">#4356</a>)</li>
<li>Linux: Add missing INPUT_PROP_XXX flags from
<code>input-event-codes.h</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4326">#4326</a>)</li>
<li>Linux: Add missing TLS bindings (<a
href="https://redirect.github.com/rust-lang/libc/pull/4296">#4296</a>)</li>
<li>Linux: Add more constants from <code>seccomp.h</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4330">#4330</a>)</li>
<li>Linux: Add more glibc <code>ptrace_sud_config</code> and related
<code>PTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIG</code>. (<a
href="https://redirect.github.com/rust-lang/libc/pull/4386">#4386</a>)</li>
<li>Linux: Add new netlink flags (<a
href="https://redirect.github.com/rust-lang/libc/pull/4288">#4288</a>)</li>
<li>Linux: Define ioctl codes on more architectures (<a
href="https://redirect.github.com/rust-lang/libc/pull/4382">#4382</a>)</li>
<li>Linux: Add missing <code>pthread_attr_setstack</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4349">#4349</a>)</li>
<li>Musl: Add missing <code>utmpx</code> API (<a
href="https://redirect.github.com/rust-lang/libc/pull/4332">#4332</a>)</li>
<li>Musl: Enable <code>getrandom</code> on all platforms (<a
href="https://redirect.github.com/rust-lang/libc/pull/4346">#4346</a>)</li>
<li>NuttX: Add more signal constants (<a
href="https://redirect.github.com/rust-lang/libc/pull/4353">#4353</a>)</li>
<li>QNX: Add QNX 7.1-iosock and 8.0 to list of additional cfgs (<a
href="https://redirect.github.com/rust-lang/libc/pull/4169">#4169</a>)</li>
<li>QNX: Add support for alternative Neutrino network stack
<code>io-sock</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4169">#4169</a>)</li>
<li>Redox: Add more <code>sys/socket.h</code> and <code>sys/uio.h</code>
definitions (<a
href="https://redirect.github.com/rust-lang/libc/pull/4388">#4388</a>)</li>
<li>Solaris: Temporarily define <code>O_DIRECT</code> and
<code>SIGINFO</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4348">#4348</a>)</li>
<li>Solarish: Add <code>secure_getenv</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4342">#4342</a>)</li>
<li>VxWorks: Add missing <code>d_type</code> member to
<code>dirent</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4352">#4352</a>)</li>
<li>VxWorks: Add missing signal-related constsants (<a
href="https://redirect.github.com/rust-lang/libc/pull/4352">#4352</a>)</li>
<li>VxWorks: Add more error codes (<a
href="https://redirect.github.com/rust-lang/libc/pull/4337">#4337</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>FreeBSD: Deprecate <code>TCP_PCAP_OUT</code> and
<code>TCP_PCAP_IN</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4381">#4381</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Cygwin: Fix member types of <code>statfs</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4324">#4324</a>)</li>
<li>Cygwin: Fix tests (<a
href="https://redirect.github.com/rust-lang/libc/pull/4357">#4357</a>)</li>
<li>Hermit: Make <code>AF_INET = 3</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4344">#4344</a>)</li>
<li>Musl: Fix the syscall table on RISC-V-32 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4335">#4335</a>)</li>
<li>Musl: Fix the value of <code>SA_ONSTACK</code> on RISC-V-32 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4335">#4335</a>)</li>
<li>VxWorks: Fix a typo in the <code>waitpid</code> parameter name (<a
href="https://redirect.github.com/rust-lang/libc/pull/4334">#4334</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a5eab581f9"><code>a5eab58</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/4410">#4410</a>
from tgross35/release-libc</li>
<li><a
href="481eca7cc3"><code>481eca7</code></a>
chore: release libc 0.2.172</li>
<li><a
href="ce2edbbaa9"><code>ce2edbb</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/4399">#4399</a>
from tgross35/backport-triagebot-branch-warn</li>
<li><a
href="31b3200907"><code>31b3200</code></a>
Suggest stable-nominated in the PR template</li>
<li><a
href="3bffe1d58a"><code>3bffe1d</code></a>
Make triagebot warn on non-default branches</li>
<li><a
href="03e6ffc8c4"><code>03e6ffc</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/4396">#4396</a>
from tgross35/backport-serrano</li>
<li><a
href="f9a47ac811"><code>f9a47ac</code></a>
Define SO_BINDTOIFINDEX on Android</li>
<li><a
href="a358dae479"><code>a358dae</code></a>
Add missing utmpx apis for linux musl</li>
<li><a
href="1ff2f2181a"><code>1ff2f21</code></a>
adding linux glibc ptrace_sud_config and related
PTRACE_*ET_SYSCALL_USER_DISP...</li>
<li><a
href="55c58c956d"><code>55c58c9</code></a>
Add more redox sys/socket.h and sys/uio.h definitions</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/libc/compare/0.2.171...0.2.172">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.171&new-version=0.2.172)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2025-05-06 01:26:26 +00:00
Thomas Eizinger
81ba49e2bf ci(rust): reorder static analysis (#9025)
Running `clippy` first is more useful because it provides better
feedback around compile-errors. When working with cross-platform code,
it is often the case that one needs to push to CI to ensure everything
builds. Therefore, getting fast feedback is important.
2025-05-05 12:29:57 +00:00
Thomas Eizinger
7d96953265 ci: add integration test with ECN enabled (#9012) 2025-05-02 10:25:12 +00:00
Jamil
6e0e7343ba chore: release Apple & Gateway with ECN fix (#9013) 2025-05-02 00:16:40 -07:00
Thomas Eizinger
41cae2ed3b ci(rust): only run proptest's regression seeds on Windows (#9010)
GitHub's Windows runners are very slow. In order to not prolong CI runs
too much, we set the number of _additional_ proptest cases for Windows
to 0. This means we still run all the regression seeds that we've
accumulated in `proptest-regressions/tests.txt` and simply don't
generate any new ones on top of it.

This is also a good benchmark to ensure that our regression seeds cover
all cases that we are testing further down below using the coverage
grepping.

Related: #8948
2025-05-02 05:45:21 +00:00
Jamil
f2ee63e056 fix(deps): Dependabot looks for Package.swift (#8997)
<img width="907" alt="Screenshot 2025-05-01 at 9 29 47 AM"
src="https://github.com/user-attachments/assets/061b757c-1268-42e9-b95b-4e6fa1e8d19f"
/>
2025-05-02 00:18:52 +00:00
Thomas Eizinger
f53e4419b8 ci(rust): run the default number of proptest cases (#8982)
By default, proptest runs all regression cases + 256 new ones. Given
that we run the tests on 3 different operating systems in various
versions each and that on each PR, we are likely hitting enough
different cases to detect any bugs.

Related: #8948
2025-05-01 23:18:05 +00:00
Thomas Eizinger
555945f7f0 ci: don't run Tauri workflows on every PR (#8981)
These take a long time and there is not really any benefit. We already
run smoke-tests on both Windows and Linux runners which ensures that the
GUI and IPC service compile and start. In addition, we run clippy across
the entire Rust codebase.

The only thing that doesn't get tested in CI if we remove this is the
bundling of the applications. This however rarely changes and one can
always trigger the Tauri workflow manually for a PR to see if certain
changes are working.

Related: #8948
2025-05-01 23:15:45 +00:00
Jamil
5ed76d5b66 fix(deps): update github-actions in .github/actions (#9000)
Dependabot only updates dependencies in .github/workflows. This is an
attempt to tell it to also update in .github/actions too.
2025-05-01 21:50:15 +00:00
Thomas Eizinger
497f8a7f8a ci(rust): make compile-packages opt-out from workspace (#8979)
Instead of explicitly listing every package we want to compile, attempt
to compile the entire workspace and exclude the ones we know won't work
on Windows.
2025-05-01 21:20:35 +00:00
Thomas Eizinger
69c308d80e ci(android): only build release bundles on request (#8983)
The debug build is good enough if one wants to test a particular PR on a
real device. When necessary, a release build can be trigger explicitly
for a particular branch.

Related: #8948
2025-05-01 21:19:54 +00:00
dependabot[bot]
da7a9729c5 build(deps): bump pre-commit from 3.6.2 to 4.2.0 in /.github (#8989)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.6.2
to 4.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pre-commit/pre-commit/releases">pre-commit's
releases</a>.</em></p>
<blockquote>
<h2>pre-commit v4.2.0</h2>
<h3>Features</h3>
<ul>
<li>For <code>language: python</code> first attempt a versioned python
executable for the default language version before consulting a
potentially unversioned <code>sys.executable</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3430">#3430</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Handle error during conflict detection when a file is named
&quot;HEAD&quot;
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3425">#3425</a>
PR by <a
href="https://github.com/tusharsadhwani"><code>@​tusharsadhwani</code></a>.</li>
</ul>
</li>
</ul>
<h2>pre-commit v4.1.0</h2>
<h3>Features</h3>
<ul>
<li>Add <code>language: julia</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3348">#3348</a>
PR by <a
href="https://github.com/fredrikekre"><code>@​fredrikekre</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2689">#2689</a>
issue <a
href="https://github.com/jmuchovej"><code>@​jmuchovej</code></a>.</li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Disable automatic toolchain switching for <code>language:
golang</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3304">#3304</a>
PR by <a
href="https://github.com/AleksaC"><code>@​AleksaC</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3300">#3300</a>
issue by <a
href="https://github.com/AleksaC"><code>@​AleksaC</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3149">#3149</a>
issue by <a
href="https://github.com/nijel"><code>@​nijel</code></a>.</li>
</ul>
</li>
<li>Fix <code>language: r</code> installation when initiated by RStudio.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3389">#3389</a>
PR by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3385">#3385</a>
issue by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
</ul>
</li>
</ul>
<h2>pre-commit v4.0.1</h2>
<h3>Fixes</h3>
<ul>
<li>Fix <code>pre-commit migrate-config</code> for unquoted deprecated
stages names with
purelib <code>pyyaml</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3324">#3324</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit-ci/issues/issues/234">pre-commit-ci/issues#234</a>
issue by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
</ul>
</li>
</ul>
<h2>pre-commit v4.0.0</h2>
<h3>Features</h3>
<ul>
<li>Improve <code>pre-commit migrate-config</code> to handle more yaml
formats.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3301">#3301</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
<li>Handle <code>stages</code> deprecation in <code>pre-commit
migrate-config</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3302">#3302</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2732">#2732</a>
issue by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
<li>Upgrade <code>ruby-build</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3199">#3199</a>
PR by <a
href="https://github.com/ThisGuyCodes"><code>@​ThisGuyCodes</code></a>.</li>
</ul>
</li>
<li>Add &quot;sensible regex&quot; warnings to <code>repo: meta</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3311">#3311</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
<li>Add warnings for deprecated <code>stages</code> (<code>commit</code>
-&gt; <code>pre-commit</code>, <code>push</code> -&gt;
<code>pre-push</code>, <code>merge-commit</code> -&gt;
<code>pre-merge-commit</code>).
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3312">#3312</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3313">#3313</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3315">#3315</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2732">#2732</a>
issue by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
</ul>
<h3>Migrating</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md">pre-commit's
changelog</a>.</em></p>
<blockquote>
<h1>4.2.0 - 2025-03-18</h1>
<h3>Features</h3>
<ul>
<li>For <code>language: python</code> first attempt a versioned python
executable for
the default language version before consulting a potentially unversioned
<code>sys.executable</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3430">#3430</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Handle error during conflict detection when a file is named
&quot;HEAD&quot;
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3425">#3425</a>
PR by <a
href="https://github.com/tusharsadhwani"><code>@​tusharsadhwani</code></a>.</li>
</ul>
</li>
</ul>
<h1>4.1.0 - 2025-01-20</h1>
<h3>Features</h3>
<ul>
<li>Add <code>language: julia</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3348">#3348</a>
PR by <a
href="https://github.com/fredrikekre"><code>@​fredrikekre</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2689">#2689</a>
issue <a
href="https://github.com/jmuchovej"><code>@​jmuchovej</code></a>.</li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Disable automatic toolchain switching for <code>language:
golang</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3304">#3304</a>
PR by <a
href="https://github.com/AleksaC"><code>@​AleksaC</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3300">#3300</a>
issue by <a
href="https://github.com/AleksaC"><code>@​AleksaC</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3149">#3149</a>
issue by <a
href="https://github.com/nijel"><code>@​nijel</code></a>.</li>
</ul>
</li>
<li>Fix <code>language: r</code> installation when initiated by RStudio.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3389">#3389</a>
PR by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3385">#3385</a>
issue by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
</ul>
</li>
</ul>
<h1>4.0.1 - 2024-10-08</h1>
<h3>Fixes</h3>
<ul>
<li>Fix <code>pre-commit migrate-config</code> for unquoted deprecated
stages names with
purelib <code>pyyaml</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3324">#3324</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit-ci/issues/issues/234">pre-commit-ci/issues#234</a>
issue by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
</ul>
</li>
</ul>
<h1>4.0.0 - 2024-10-05</h1>
<h3>Features</h3>
<ul>
<li>Improve <code>pre-commit migrate-config</code> to handle more yaml
formats.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3301">#3301</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
<li>Handle <code>stages</code> deprecation in <code>pre-commit
migrate-config</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3302">#3302</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2732">#2732</a>
issue by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
<li>Upgrade <code>ruby-build</code>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aa48766b88"><code>aa48766</code></a>
v4.2.0</li>
<li><a
href="bf6f11dc6c"><code>bf6f11d</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3430">#3430</a>
from pre-commit/preferential-sys-impl</li>
<li><a
href="3e8d0f5e1c"><code>3e8d0f5</code></a>
adjust python default_language_version to prefer versioned exe</li>
<li><a
href="ff7256cedf"><code>ff7256c</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3425">#3425</a>
from tusharsadhwani/ambiguous-ref</li>
<li><a
href="b7eb412c79"><code>b7eb412</code></a>
fix: crash on ambiguous ref 'HEAD'</li>
<li><a
href="7b88c63ae6"><code>7b88c63</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3404">#3404</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="94b97e28f7"><code>94b97e2</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="2f93b80484"><code>2f93b80</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3401">#3401</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="4f90a1e88a"><code>4f90a1e</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="aba1ce04e7"><code>aba1ce0</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3396">#3396</a>
from pre-commit/all-repos_autofix_all-repos-sed</li>
<li>Additional commits viewable in <a
href="https://github.com/pre-commit/pre-commit/compare/v3.6.2...v4.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pre-commit&package-manager=pip&previous-version=3.6.2&new-version=4.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 16:37:11 +00:00
Jamil
593a288f64 fix(ci): Fix github actions dependabot (#8985)
Our GitHub actions packages are not being updated. This may be a reason
why.

Edit: Looks like it's not applying to our composite actions in
.github/actions. Will see if this fixes it.
2025-05-01 16:04:02 +00:00
Thomas Eizinger
12efba3cc2 ci: don't build Windows headless client for perf tests (#8980)
Checking this based on the image prefix is a bit hacky but should speed
up the pipeline a bit.

Related: #8948
2025-05-01 13:26:06 +00:00
dependabot[bot]
b2d36e2500 build(deps): bump actions/download-artifact from 4.2.1 to 4.3.0 (#8972)
Bumps
[actions/download-artifact](https://github.com/actions/download-artifact)
from 4.2.1 to 4.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/download-artifact/releases">actions/download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v4.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: implement new <code>artifact-ids</code> input by <a
href="https://github.com/GrantBirki"><code>@​GrantBirki</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/401">actions/download-artifact#401</a></li>
<li>Fix workflow example for downloading by artifact ID by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/402">actions/download-artifact#402</a></li>
<li>Prep for v4.3.0 release by <a
href="https://github.com/robherley"><code>@​robherley</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/404">actions/download-artifact#404</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/GrantBirki"><code>@​GrantBirki</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/download-artifact/pull/401">actions/download-artifact#401</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v4.2.1...v4.3.0">https://github.com/actions/download-artifact/compare/v4.2.1...v4.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d3f86a106a"><code>d3f86a1</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/404">#404</a>
from actions/robherley/v4.3.0</li>
<li><a
href="fc02353415"><code>fc02353</code></a>
prep for v4.3.0 release</li>
<li><a
href="77454371a4"><code>7745437</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/402">#402</a>
from actions/joshmgross/download-by-id-example</li>
<li><a
href="84fc7a0a35"><code>84fc7a0</code></a>
Remove path filters from Check dist workflow</li>
<li><a
href="67f2bc382f"><code>67f2bc3</code></a>
Fix workflow example for downloading by artifact ID</li>
<li><a
href="8ea3c2c174"><code>8ea3c2c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/401">#401</a>
from actions/download-by-id</li>
<li><a
href="d219c630f6"><code>d219c63</code></a>
add supporting unit tests for artifact downloads with ids</li>
<li><a
href="54124fbd88"><code>54124fb</code></a>
revert <code>getArtifact()</code> changes - for now we have to list and
filter by artifa...</li>
<li><a
href="b83057b90d"><code>b83057b</code></a>
bundle</li>
<li><a
href="171183c7dc"><code>171183c</code></a>
use the same <code>artifactClient.getArtifact</code> structure as seen
above in `isSingl...</li>
<li>Additional commits viewable in <a
href="95815c38cf...d3f86a106a">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=4.2.1&new-version=4.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 11:32:58 +00:00
dependabot[bot]
c7827b9687 build(deps): bump google-github-actions/auth from 2.1.8 to 2.1.10 (#8969)
Bumps
[google-github-actions/auth](https://github.com/google-github-actions/auth)
from 2.1.8 to 2.1.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google-github-actions/auth/releases">google-github-actions/auth's
releases</a>.</em></p>
<blockquote>
<h2>v2.1.10</h2>
<h2>What's Changed</h2>
<ul>
<li>Declare workflow permissions by <a
href="https://github.com/sethvargo"><code>@​sethvargo</code></a> in <a
href="https://redirect.github.com/google-github-actions/auth/pull/482">google-github-actions/auth#482</a></li>
<li>Document that the OIDC token expires in 5min by <a
href="https://github.com/sethvargo"><code>@​sethvargo</code></a> in <a
href="https://redirect.github.com/google-github-actions/auth/pull/483">google-github-actions/auth#483</a></li>
<li>Release: v2.1.10 by <a
href="https://github.com/google-github-actions-bot"><code>@​google-github-actions-bot</code></a>
in <a
href="https://redirect.github.com/google-github-actions/auth/pull/484">google-github-actions/auth#484</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google-github-actions/auth/compare/v2.1.9...v2.1.10">https://github.com/google-github-actions/auth/compare/v2.1.9...v2.1.10</a></p>
<h2>v2.1.9</h2>
<h2>What's Changed</h2>
<ul>
<li>Use our custom boolean parsing by <a
href="https://github.com/sethvargo"><code>@​sethvargo</code></a> in <a
href="https://redirect.github.com/google-github-actions/auth/pull/478">google-github-actions/auth#478</a></li>
<li>Update deps by <a
href="https://github.com/sethvargo"><code>@​sethvargo</code></a> in <a
href="https://redirect.github.com/google-github-actions/auth/pull/479">google-github-actions/auth#479</a></li>
<li>Release: v2.1.9 by <a
href="https://github.com/google-github-actions-bot"><code>@​google-github-actions-bot</code></a>
in <a
href="https://redirect.github.com/google-github-actions/auth/pull/480">google-github-actions/auth#480</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google-github-actions/auth/compare/v2.1.8...v2.1.9">https://github.com/google-github-actions/auth/compare/v2.1.8...v2.1.9</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ba79af0395"><code>ba79af0</code></a>
Release: v2.1.10 (<a
href="https://redirect.github.com/google-github-actions/auth/issues/484">#484</a>)</li>
<li><a
href="bfaa66bd66"><code>bfaa66b</code></a>
Document that the OIDC token expires in 5min (<a
href="https://redirect.github.com/google-github-actions/auth/issues/483">#483</a>)</li>
<li><a
href="d0822ad9bf"><code>d0822ad</code></a>
Declare workflow permissions (<a
href="https://redirect.github.com/google-github-actions/auth/issues/482">#482</a>)</li>
<li><a
href="7b53cdc2a3"><code>7b53cdc</code></a>
Release: v2.1.9 (<a
href="https://redirect.github.com/google-github-actions/auth/issues/480">#480</a>)</li>
<li><a
href="a9cfddf5d2"><code>a9cfddf</code></a>
Update deps (<a
href="https://redirect.github.com/google-github-actions/auth/issues/479">#479</a>)</li>
<li><a
href="b011f3988e"><code>b011f39</code></a>
Use our custom boolean parsing (<a
href="https://redirect.github.com/google-github-actions/auth/issues/478">#478</a>)</li>
<li>See full diff in <a
href="71f986410d...ba79af0395">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google-github-actions/auth&package-manager=github_actions&previous-version=2.1.8&new-version=2.1.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 11:09:24 +00:00
dependabot[bot]
993a82c18a build(deps): bump actions/setup-python from 5.5.0 to 5.6.0 (#8967)
Bumps [actions/setup-python](https://github.com/actions/setup-python)
from 5.5.0 to 5.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-python/releases">actions/setup-python's
releases</a>.</em></p>
<blockquote>
<h2>v5.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Workflow updates related to Ubuntu 20.04 by <a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1065">actions/setup-python#1065</a></li>
<li>Fix for Candidate Not Iterable Error by <a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1082">actions/setup-python#1082</a></li>
<li>Upgrade semver and <code>@​types/semver</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1091">actions/setup-python#1091</a></li>
<li>Upgrade prettier from 2.8.8 to 3.5.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1046">actions/setup-python#1046</a></li>
<li>Upgrade ts-jest from 29.1.2 to 29.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1081">actions/setup-python#1081</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-python/compare/v5...v5.6.0">https://github.com/actions/setup-python/compare/v5...v5.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a26af69be9"><code>a26af69</code></a>
Bump ts-jest from 29.1.2 to 29.3.2 (<a
href="https://redirect.github.com/actions/setup-python/issues/1081">#1081</a>)</li>
<li><a
href="30eafe9548"><code>30eafe9</code></a>
Bump prettier from 2.8.8 to 3.5.3 (<a
href="https://redirect.github.com/actions/setup-python/issues/1046">#1046</a>)</li>
<li><a
href="5d95bc16d4"><code>5d95bc1</code></a>
Bump semver and <code>@​types/semver</code> (<a
href="https://redirect.github.com/actions/setup-python/issues/1091">#1091</a>)</li>
<li><a
href="6ed2c67c8a"><code>6ed2c67</code></a>
Fix for Candidate Not Iterable Error (<a
href="https://redirect.github.com/actions/setup-python/issues/1082">#1082</a>)</li>
<li><a
href="e348410e00"><code>e348410</code></a>
Remove Ubuntu 20.04 from workflows due to deprecation from 2025-04-15
(<a
href="https://redirect.github.com/actions/setup-python/issues/1065">#1065</a>)</li>
<li>See full diff in <a
href="8d9ed9ac5c...a26af69be9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=5.5.0&new-version=5.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 11:09:03 +00:00
dependabot[bot]
d5c5792047 build(deps): bump docker/build-push-action from 6.15.0 to 6.16.0 (#8968)
Bumps
[docker/build-push-action](https://github.com/docker/build-push-action)
from 6.15.0 to 6.16.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/build-push-action/releases">docker/build-push-action's
releases</a>.</em></p>
<blockquote>
<h2>v6.16.0</h2>
<ul>
<li>Handle no default attestations env var by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1343">docker/build-push-action#1343</a></li>
<li>Only print secret keys in build summary output by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1353">docker/build-push-action#1353</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.56.0 to 0.59.0 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1352">docker/build-push-action#1352</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.15.0...v6.16.0">https://github.com/docker/build-push-action/compare/v6.15.0...v6.16.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="14487ce63c"><code>14487ce</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1343">#1343</a>
from crazy-max/fix-no-default-attest</li>
<li><a
href="0ec91264d8"><code>0ec9126</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1366">#1366</a>
from crazy-max/pr-assign-author</li>
<li><a
href="b749522b90"><code>b749522</code></a>
pr-assign-author workflow</li>
<li><a
href="c566248492"><code>c566248</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1363">#1363</a>
from crazy-max/fix-codecov</li>
<li><a
href="13275dd76e"><code>13275dd</code></a>
ci: fix missing source for codecov</li>
<li><a
href="67dc78bbaf"><code>67dc78b</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1361">#1361</a>
from mschoettle/patch-1</li>
<li><a
href="0760504437"><code>0760504</code></a>
docs: add validating build configuration example</li>
<li><a
href="1c198f4467"><code>1c198f4</code></a>
chore: update generated content</li>
<li><a
href="288d9e2e4a"><code>288d9e2</code></a>
handle no default attestations env var</li>
<li><a
href="88844b95d8"><code>88844b9</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1353">#1353</a>
from crazy-max/summary-secret-keys</li>
<li>Additional commits viewable in <a
href="471d1dc4e0...14487ce63c">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=6.15.0&new-version=6.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 11:08:42 +00:00
dependabot[bot]
b1408ebbff build(deps): bump taiki-e/install-action from 2.49.50 to 2.50.4 (#8971)
Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.49.50 to 2.50.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.50.4</h2>
<ul>
<li>
<p>Update <code>typos@latest</code> to 1.31.2.</p>
</li>
<li>
<p>Update <code>osv-scanner@latest</code> to 2.0.2.</p>
</li>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.95.</p>
</li>
</ul>
<h2>2.50.3</h2>
<ul>
<li>Update <code>cargo-zigbuild@latest</code> to 0.20.0.</li>
</ul>
<h2>2.50.2</h2>
<ul>
<li>
<p>Update <code>cargo-lambda@latest</code> to 1.8.4.</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.23.1.</p>
</li>
</ul>
<h2>2.50.1</h2>
<ul>
<li>
<p>Update <code>syft@latest</code> to 1.23.0.</p>
</li>
<li>
<p>Update <code>cargo-semver-checks@latest</code> to 0.41.0.</p>
</li>
</ul>
<h2>2.50.0</h2>
<ul>
<li>
<p>Support <code>taplo</code>. (<a
href="https://redirect.github.com/taiki-e/install-action/pull/944">#944</a>,
thanks <a
href="https://github.com/vivienm"><code>@​vivienm</code></a>)</p>
</li>
<li>
<p>Update <code>wasmtime@latest</code> to 32.0.0.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.133.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<h2>[2.50.4] - 2025-05-01</h2>
<ul>
<li>
<p>Update <code>typos@latest</code> to 1.31.2.</p>
</li>
<li>
<p>Update <code>osv-scanner@latest</code> to 2.0.2.</p>
</li>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.95.</p>
</li>
</ul>
<h2>[2.50.3] - 2025-04-26</h2>
<ul>
<li>Update <code>cargo-zigbuild@latest</code> to 0.20.0.</li>
</ul>
<h2>[2.50.2] - 2025-04-26</h2>
<ul>
<li>
<p>Update <code>cargo-lambda@latest</code> to 1.8.4.</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.23.1.</p>
</li>
</ul>
<h2>[2.50.1] - 2025-04-25</h2>
<ul>
<li>
<p>Update <code>syft@latest</code> to 1.23.0.</p>
</li>
<li>
<p>Update <code>cargo-semver-checks@latest</code> to 0.41.0.</p>
</li>
</ul>
<h2>[2.50.0] - 2025-04-21</h2>
<ul>
<li>
<p>Support <code>taplo</code>. (<a
href="https://redirect.github.com/taiki-e/install-action/pull/944">#944</a>,
thanks <a
href="https://github.com/vivienm"><code>@​vivienm</code></a>)</p>
</li>
<li>
<p>Update <code>wasmtime@latest</code> to 32.0.0.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.133.</p>
</li>
</ul>
<h2>[2.49.50] - 2025-04-16</h2>
<ul>
<li>Update <code>grcov@latest</code> to 0.9.1.</li>
</ul>
<h2>[2.49.49] - 2025-04-13</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="33734a1186"><code>33734a1</code></a>
Release 2.50.4</li>
<li><a
href="014b96a1bb"><code>014b96a</code></a>
Update <code>typos@latest</code> to 1.31.2</li>
<li><a
href="35a81c61b8"><code>35a81c6</code></a>
Update <code>osv-scanner@latest</code> to 2.0.2</li>
<li><a
href="f3c9944420"><code>f3c9944</code></a>
Update <code>cargo-nextest@latest</code> to 0.9.95</li>
<li><a
href="ab3728c7ba"><code>ab3728c</code></a>
Release 2.50.3</li>
<li><a
href="6d5ef845d7"><code>6d5ef84</code></a>
Update <code>cargo-zigbuild@latest</code> to 0.20.0</li>
<li><a
href="52d0e7adc5"><code>52d0e7a</code></a>
Release 2.50.2</li>
<li><a
href="a69f86f003"><code>a69f86f</code></a>
Update <code>cargo-lambda@latest</code> to 1.8.4</li>
<li><a
href="b790d400b3"><code>b790d40</code></a>
Update <code>syft@latest</code> to 1.23.1</li>
<li><a
href="067268f3aa"><code>067268f</code></a>
Release 2.50.1</li>
<li>Additional commits viewable in <a
href="09dc018eee...33734a1186">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.49.50&new-version=2.50.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 11:08:21 +00:00
Thomas Eizinger
8a201494d0 ci: remove flaky Windows benchmark (#8941)
This tunnel throughput benchmark isn't a very useful benchmark and it is
very flaky. Remove it entirely until we can replace it with something
more robust and useful.

Resolves: #8172
2025-04-30 07:24:21 -07:00
Thomas Eizinger
ec4cd898ba chore: release Gateway v1.4.7 (#8943) 2025-04-30 13:37:32 +00:00
Jamil
968db2ae39 feat(portal): Receive WAL events (#8909)
Firezone's control plane is a realtime, distributed system that relies
on a broadcast/subscribe system to function. In many cases, these events
are broadcasted whenever relevant data in the DB changes, such as an
actor losing access to a policy, a membership being deleted, and so
forth.

Today, this is handled in the application layer, typically happening at
the place where the relevant DB call is made (i.e. in an
`after_commit`). While this approach has worked thus far, it has several
issues:

1. We have no guarantee that the DB change will issue a broadcast. If
the application is deployed or the process crashes after the DB changes
are made but before the broadcast happens, we will have potentially
failed to update any connected clients or gateways with the changes.
2. We have no guarantee that the order of DB updates will be maintained
in order for broadcasts. In other words, app server A could win its DB
operation against app server B, but then proceed to lose being the first
to broadcast.
3. If the cluster is in a bad state where broadcasts may return an error
(i.e. https://github.com/firezone/firezone/issues/8660), we will never
retry the broadcast.

To fix the above issues, we introduce a WAL logical decoder that process
the event stream one message at a time and performs any needed work.
Serializability is guaranteed since we only process the WAL in a single,
cluster-global process, `ReplicationConnection`. Durability is also
guaranteed since we only ACK WAL segments after we've successfully
ingested the event.

This means we will only advance the position of our WAL stream after
successfully broadcasting the event.

This PR only introduces the WAL stream processing system but does not
introduce any changes to our current broadcasting behavior - that's
saved for another PR.
2025-04-29 23:53:06 -07:00
Jamil
2650d81444 chore: release clients with GSO fix (#8936) 2025-04-29 23:52:43 -07:00
Thomas Eizinger
6114bb274f chore(rust): make most of the Rust code compile on MacOS (#8924)
When working on the Rust code of Firezone from a MacOS computer, it is
useful to have pretty much all of the code at least compile to ensure
detect problems early. Eventually, once we target features like a
headless MacOS client, some of these stubs will actually be filled in an
be functional.
2025-04-29 11:20:09 +00:00
Jamil
48319df9f0 revert(#8893): Revert adding wal2json dev image (#8908)
Turns out that the standard `pgoutput` plugin shipped with Postgres will
do everything we need it to, and there are good examples of prior art
decoding its binary output in Elixir (in production).

So to avoid adding a dependency on `wal2json` here, we'll go with that.
2025-04-26 22:43:32 +00:00
Jamil
4fbfa5247f chore(ci): Remove version override from buildx (#8904)
The override we needed from before is no longer needed.
2025-04-25 21:38:42 +00:00
Jamil
f6ae7559e8 feat(ci): Add custom postgres Dockerfile for wal2json (#8893)
In order to develop and test WAL replication, we need the wal2json
module installed in our dev postgres image. The module itself builds
very quickly, but I thought it would be better to have this
automatically built and pushed as part of a nightly job so that CI and
developers can make use of it.
2025-04-25 12:31:40 +00:00
Jamil
5db8e20f3b chore: release Apple and GUI clients (#8882)
- Apple clients 1.4.12
- GUI clients 1.4.11
2025-04-21 21:45:16 +00:00
Jamil
368ace2c6e ci: Release Android 1.4.7 (#8878)
App is live on Play store.
2025-04-21 21:12:27 +00:00
Thomas Eizinger
182eb145aa ci(swift): split uploads of packages into two (#8872)
In #8795 we added an additional path to the artifact upload which
appeared to have broken it. The action cannot seem to handle multiple
direct paths that lead to files. It tries to but fails:

```
Multiple search paths detected. Calculating the least common ancestor of all paths
The least common ancestor is /Users/runner/work/firezone/firezone/"/Users/runner/work/_temp. This will be the root directory of the artifact
Warning: No files were found with the provided path: "/Users/runner/work/_temp/firezone-macos-client-1.4.12.dmg"
"/Users/runner/work/_temp/firezone-macos-client-1.4.12.pkg". No artifacts will be uploaded.
```

Source:
https://github.com/firezone/firezone/actions/runs/14571295945/job/40868936348#step:7:31

Splitting this step into two and creating one artifact each fixes this
as can be seen in the following job (which I triggered for this PR):
https://github.com/firezone/firezone/actions/runs/14572176039/job/40871304453
2025-04-21 12:15:25 +00:00
Thomas Eizinger
d67fb8ef22 ci(rust): remove unused cache backend (#8864)
We are no longer building binaries with `cross` which was the only user
of the `github` cache backend.
2025-04-21 00:29:29 +00:00
dependabot[bot]
41d38c3302 build(deps): bump actions/setup-node from 4.3.0 to 4.4.0 (#8822)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from
4.3.0 to 4.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.4.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Make eslint-compact matcher compatible with Stylelint by <a
href="https://github.com/FloEdelmann"><code>@​FloEdelmann</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/98">actions/setup-node#98</a></li>
<li>Add support for indented eslint output by <a
href="https://github.com/fregante"><code>@​fregante</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1245">actions/setup-node#1245</a></li>
</ul>
<h3>Enhancement:</h3>
<ul>
<li>Support private mirrors by <a
href="https://github.com/marco-ippolito"><code>@​marco-ippolito</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1240">actions/setup-node#1240</a></li>
</ul>
<h3>Dependency update:</h3>
<ul>
<li>Upgrade <code>@​action/cache</code> from 4.0.2 to 4.0.3 by <a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1262">actions/setup-node#1262</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/FloEdelmann"><code>@​FloEdelmann</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/98">actions/setup-node#98</a></li>
<li><a href="https://github.com/fregante"><code>@​fregante</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1245">actions/setup-node#1245</a></li>
<li><a
href="https://github.com/marco-ippolito"><code>@​marco-ippolito</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1240">actions/setup-node#1240</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v4...v4.4.0">https://github.com/actions/setup-node/compare/v4...v4.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="49933ea528"><code>49933ea</code></a>
Bump <code>@​action/cache</code> from 4.0.2 to 4.0.3 (<a
href="https://redirect.github.com/actions/setup-node/issues/1262">#1262</a>)</li>
<li><a
href="e3ce749e20"><code>e3ce749</code></a>
feat: support private mirrors (<a
href="https://redirect.github.com/actions/setup-node/issues/1240">#1240</a>)</li>
<li><a
href="40337cb8f7"><code>40337cb</code></a>
Add support for indented eslint output (<a
href="https://redirect.github.com/actions/setup-node/issues/1245">#1245</a>)</li>
<li><a
href="1ccdddc9b8"><code>1ccdddc</code></a>
Make eslint-compact matcher compatible with Stylelint (<a
href="https://redirect.github.com/actions/setup-node/issues/98">#98</a>)</li>
<li>See full diff in <a
href="cdca7365b2...49933ea528">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=4.3.0&new-version=4.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-19 21:00:16 +00:00
Thomas Eizinger
c3dcb3630e ci: add tailwind dependabot group for Client frontend (#8850) 2025-04-19 12:46:41 +00:00
dependabot[bot]
6366339420 build(deps): bump taiki-e/install-action from 2.49.46 to 2.49.50 (#8821)
Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.49.46 to 2.49.50.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.49.50</h2>
<ul>
<li>Update <code>grcov@latest</code> to 0.9.1.</li>
</ul>
<h2>2.49.49</h2>
<ul>
<li>Update <code>release-plz@latest</code> to 0.3.132.</li>
</ul>
<h2>2.49.48</h2>
<ul>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.131.</p>
</li>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.94.</p>
</li>
<li>
<p>Update <code>cargo-lambda@latest</code> to 1.8.3.</p>
</li>
</ul>
<h2>2.49.47</h2>
<ul>
<li>Update <code>grcov@latest</code> to 0.9.0.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<ul>
<li>Update <code>release-plz@latest</code> to 0.3.133.</li>
</ul>
<h2>[2.49.50] - 2025-04-16</h2>
<ul>
<li>Update <code>grcov@latest</code> to 0.9.1.</li>
</ul>
<h2>[2.49.49] - 2025-04-13</h2>
<ul>
<li>Update <code>release-plz@latest</code> to 0.3.132.</li>
</ul>
<h2>[2.49.48] - 2025-04-11</h2>
<ul>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.131.</p>
</li>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.94.</p>
</li>
<li>
<p>Update <code>cargo-lambda@latest</code> to 1.8.3.</p>
</li>
</ul>
<h2>[2.49.47] - 2025-04-09</h2>
<ul>
<li>Update <code>grcov@latest</code> to 0.9.0.</li>
</ul>
<h2>[2.49.46] - 2025-04-08</h2>
<ul>
<li>
<p>Update <code>espup@latest</code> to 0.15.0.</p>
</li>
<li>
<p>Update <code>trunk@latest</code> to 0.21.13.</p>
</li>
</ul>
<h2>[2.49.45] - 2025-04-06</h2>
<ul>
<li>
<p>Update <code>knope@latest</code> to 0.19.2.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.12.3.</p>
</li>
</ul>
<h2>[2.49.44] - 2025-04-03</h2>
<ul>
<li>Update <code>grcov@latest</code> to 0.8.24.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="09dc018eee"><code>09dc018</code></a>
Release 2.49.50</li>
<li><a
href="2cd02413f6"><code>2cd0241</code></a>
Update <code>grcov@latest</code> to 0.9.1</li>
<li><a
href="be7c31b674"><code>be7c31b</code></a>
Release 2.49.49</li>
<li><a
href="a5bc3ba681"><code>a5bc3ba</code></a>
Update <code>release-plz@latest</code> to 0.3.132</li>
<li><a
href="5e434d4644"><code>5e434d4</code></a>
Release 2.49.48</li>
<li><a
href="e4c4a414ab"><code>e4c4a41</code></a>
Update <code>release-plz@latest</code> to 0.3.131</li>
<li><a
href="80a9f78f16"><code>80a9f78</code></a>
Update <code>cargo-nextest@latest</code> to 0.9.94</li>
<li><a
href="7722c176d5"><code>7722c17</code></a>
Update <code>cargo-lambda@latest</code> to 1.8.3</li>
<li><a
href="a48a50298f"><code>a48a502</code></a>
Release 2.49.47</li>
<li><a
href="63533c4988"><code>63533c4</code></a>
Update <code>grcov@latest</code> to 0.9.0</li>
<li>See full diff in <a
href="2db346588e...09dc018eee">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.49.46&new-version=2.49.50)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-19 12:45:26 +00:00
Jamil
5669c83835 ci: Bump Apple clients to 1.4.11 (#8848)
Includes a fix for auto-starting on launch when other VPN clients have
been connected previously.
2025-04-19 11:45:42 +00:00
Thomas Eizinger
ab8b1f8f1e ci: add aya dependabot group (#8819) 2025-04-19 10:34:41 +00:00
Jamil
a2e32a4918 ci: Bump apple to 1.4.10 to ship PKG (#8797)
This publishes the 1.4.10 permalinks for the PKG download.
2025-04-17 15:13:44 +00:00
Jamil
54e60ca820 fix(ci): Use Developer ID Installer cert to sign pkg (#8796)
Apple requires standalone-distributed `PKG` installers to be signed with
a Developer ID Installer certificate.

Fixes
https://github.com/firezone/firezone/actions/runs/14497960810/job/40670440720#step:6:3500

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2025-04-16 18:29:59 +00:00
Jamil
fc7b6e3fb0 feat(ci): Publish installer PKG for macOS standalone (#8795)
Microsoft Intune's DMG provisioner currently fails unexpectedly when
trying to provision our published DMG file with the error:

> The DMG file couldn't be mounted for installation. Check the DMG file
if the error persists. (0x87D30139)

I ran the following verification commands locally, which all passed:

```
hdiutil verify -verbose <dmg>
hdiutil imageinfo -verbose <dmg>
hdiutil hfsanalyze -verbose <dmg>
hdiutil checksum -type SHA256 -verbose <dmg>
hdiutil info -verbose
hdiutil pmap -verbose <dmg>
```

So the issue appears to be most likely that Intune doens't like the
`/Applications` shortcut in the DMG. This is a UX feature to make it
easy to drag the application the /Applications folder upon opening the
DMG.

So we're publishing an PKG in addition to the DMG, which should be a
more reliable artifact for MDMs to use.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2025-04-16 16:21:40 +00:00
Jamil
aab691a67f ci: Release Apple clients 1.4.9 (#8793)
These contain the recent UDP thread enhancements.
2025-04-15 20:14:43 +00:00
Jamil
743f5fdfeb ci: bump clients/gateway to ship write improvements (#8792)
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2025-04-15 06:21:23 +00:00
Jamil
11c5575403 chore(ci): Upload signed artifacts to run on workflow_dispatch (#8778)
When testing certain PRs, it's helpful to have signed release builds for
various platforms.

These can be built by manually triggering their respective workflow from
the GitHub UI. In these cases, we want to upload the artifacts to the
workflow run, but _not_ upload the artifacts to the release.

We only want to upload artifacts to the release if the `github.ref_name`
is `main`.
2025-04-14 21:02:16 +00:00