Commit Graph

301 Commits

Author SHA1 Message Date
Thomas Eizinger
7159ffb34b ci: timeout curl requests after 30s (#5537)
Currently, we rely on curl's default timeout when connecting to a
resource. This is problematic because the `direct-dns` and `relayed-dns`
integration tests check that a certain resource _isn't_ accessible and
this test currently waits for 5 minutes to assert that.

We can shorten this and thus every CI by passing a `--connect-timeout`
to `curl`.

See
https://github.com/firezone/firezone/actions/runs/9656570163/job/26634409843#step:6:445
for an example CI run on `main`.
2024-06-25 06:07:13 +00:00
Thomas Eizinger
eec615eddb refactor(connlib): drop all connections when roaming (#5308)
Currently, `snownet` tries to be very clever in how it roams
connections. This is/was necessary because we associated DNS-specific
state with a connection. More specifically, the assigned proxy IPs for a
DNS resource are stored as part of a connection with the gateway.

As a result, DNS resources would always break if the underlying
connection in `snownet` failed. This is quite error prone and means,
`snownet` must be very careful to never-ever fail a connection
erroneously. With #5049, we no longer store any important state with a
connection and thus, can implement roaming in much simpler way: Drop all
connections and let the incoming packets create new ones. This is much
more robust as we don't have to "patch" existing state in `snownet` as
part of roaming.

We test this new functionality by adding a `RoamClient` transition to
`tunnel_test`. This ensures roaming works in a lot of scenarios,
including relayed and non-relayed situations as well as roaming between
either of them. As a result, we can delete several of the more specific
test cases of `snownet`.

Depends-On: #5049.
Replaces: #5060.
Resolves: #5080.
2024-06-25 03:53:00 +00:00
Jamil
b4cde74bee chore: Bump client next versions to 1.1.0 (#5485) 2024-06-21 16:31:43 +00:00
Reactor Scram
b8f92ed812 test(gui-client): fix zip file export in smoke tests (#5465)
Closes #5464

These were silently broken, it was exporting an empty zip and passing
the test anyway. So this PR will cause the test to fail if the zip
wasn't fully exported, and then it will fix the export.
2024-06-21 14:05:26 +00:00
Jamil
04585874cf chore: Bump cur Gateway version to 1.1.0 (#5461) 2024-06-19 23:44:16 -07:00
Jamil
113347558a chore: Next Gateway version 1.1.0 (#5458)
This will draft the 1.1.0 release and version artifacts correctly.
2024-06-20 04:17:05 +00:00
Thomas Eizinger
42e6e9593a chore: update Nix scripts to at least build GUI client (#5423)
I tried to run the GUI client on my system but I think my glibc version
is too recent (2.38) and thus, it crashes after clicking on "Login".

These changes to the Nix script are necessary to at least build the
client.
2024-06-18 22:02:53 +00:00
Jamil
13b26fecf4 ci: Bump GUI client to 1.0.9 (#5431) 2024-06-18 14:48:17 -07:00
Jamil
21585cb2b0 ci: bump Gateway / headless to 1.0.8 (#5409) 2024-06-17 13:36:37 -07:00
Jamil
a3970c2f0a chore: Revert hardcoding gateway artifact URL (#5407)
This was needed to work around an issue with installing systemd Gateways
from our Terraform examples. Now that the publish workflow is fixed this
is no longer necessary.
2024-06-17 12:04:11 -07:00
Jamil
5eb6cbc15f ci: Bump versions and fix publish workflow (again) (#5402)
- Bump gui client version
- Fix issue discovered during publishing gui client
2024-06-17 08:44:13 -07:00
Jamil
7c20243733 fix(ci): Copy artifacts to prod on publish, not deploy (#5388)
Fixes hopefully the last remaining issue from #4397 


Fixes #5370
2024-06-17 07:30:53 -07:00
Jamil
eda1df56c2 ci: Bump Android/Apple cur versions to 1.0.4/1.0.5 (#5397) 2024-06-17 06:55:33 -07:00
Reactor Scram
1cf10f0c3f chore(rust): bump to Rust 1.79 (#5356)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-06-16 22:06:18 +00:00
Jamil
cf093f2e9a fix: hotfix install to use GH (#5371)
Refs #5370
2024-06-13 20:51:03 -07:00
Jamil
2294391d22 ci: Don't clobber assets for published releases (#5352)
Adds a sanity check to prevent clobbering assets on published releases.
Otherwise, assets will continue to be pushed to the published release
until the version is bumped.
2024-06-13 06:41:38 +00:00
Jamil
05a046ac1d ci: Bump versions for published releases (#5351) 2024-06-12 22:11:30 -07:00
Jamil
7c5c7a856a fix: Use correct component versions by overriding from FIREZONE_PACKAGE_VERSION (#5344)
Now that #4397 is complete, we need a way to bake in the desired
component version so that it's reported properly to the portal.

This PR adds a global override, "FIREZONE_PACKAGE_VERSION" that can be
optionally set to bake the version in. If left blank, the behavior is
unchanged, "CARGO_PKG_VERSION" is used instead, which is populated from
`connlib-shared`'s Cargo.toml.

## Problem

<img width="520" alt="Screenshot 2024-06-12 at 11 34 45 AM"
src="https://github.com/firezone/firezone/assets/167144/b04fcbe5-dcba-4a0d-b93f-7abd923b4f04">
<img width="439" alt="Screenshot 2024-06-12 at 11 34 36 AM"
src="https://github.com/firezone/firezone/assets/167144/7b1828fe-4073-4a1f-8cbd-5e55ba241745">
2024-06-12 22:09:48 +00:00
Jamil
b07686ce6d chore: Bump Android version 1.0.3 (#5338)
Android 1.0.3 has been published.
2024-06-12 11:39:14 -07:00
Jamil
8700a680d5 chore: Bump versions to point to new artifacts (#5337)
Currently dl links are broken due to the updated format.
2024-06-12 00:01:59 -07:00
dependabot[bot]
3cd724215c build(deps): Bump puppeteer from 22.10.0 to 22.10.1 in /scripts/tests/browser (#5316)
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 22.10.0
to 22.10.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v22.10.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.10.0...puppeteer-core-v22.10.1">22.10.1</a>
(2024-06-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add a way to run page.$$ without the isolation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12539">#12539</a>)
(<a
href="03e10a7559">03e10a7</a>)</li>
<li>align network conditions presets with DevTools (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12542">#12542</a>)
(<a
href="ee1074559d">ee10745</a>)</li>
<li>exposed functions should only be called once (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12560">#12560</a>)
(<a
href="8aac8b1ccb">8aac8b1</a>)</li>
<li><strong>performance:</strong> use Runtime.getProperties for improved
performance (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12561">#12561</a>)
(<a
href="8b2059f82a">8b2059f</a>)</li>
<li>roll to Chrome 125.0.6422.141 (r1287751) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12509">#12509</a>)
(<a
href="c4fdd102e9">c4fdd10</a>)</li>
<li>waitForSelector should work for pseudo classes (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12545">#12545</a>)
(<a
href="0b2999f7b1">0b2999f</a>)</li>
<li><strong>webdriver:</strong> default values for touch events (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12554">#12554</a>)
(<a
href="4d6298837f">4d62988</a>)</li>
<li><strong>webdriver:</strong> frame url should not be updated on
navigationStarted (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12536">#12536</a>)
(<a
href="7d0423b12c">7d0423b</a>)</li>
<li><strong>webdriver:</strong> HTTPRequest redirect chain from first
request (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12506">#12506</a>)
(<a
href="68fd771293">68fd771</a>)</li>
</ul>
<h2>puppeteer: v22.10.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.10.0...puppeteer-v22.10.1">22.10.1</a>
(2024-06-11)</h2>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 22.10.0 to 22.10.1</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="defda0905f"><code>defda09</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12507">#12507</a>)</li>
<li><a
href="dfefbd100b"><code>dfefbd1</code></a>
build(deps): bump chromium-bidi to 0.5.23 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12569">#12569</a>)</li>
<li><a
href="aa54e970e9"><code>aa54e97</code></a>
chore(deps): Bump braces from 3.0.2 to 3.0.3 in /website (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12568">#12568</a>)</li>
<li><a
href="0ee705e25f"><code>0ee705e</code></a>
chore(build): update TypeScript to 5.4 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12567">#12567</a>)</li>
<li><a
href="03e10a7559"><code>03e10a7</code></a>
fix: add a way to run page.$$ without the isolation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12539">#12539</a>)</li>
<li><a
href="97451731da"><code>9745173</code></a>
chore(deps-dev): Bump the dev-dependencies group across 1 directory with
4 up...</li>
<li><a
href="c02ea3d7d9"><code>c02ea3d</code></a>
chore(deps): Bump chromium-bidi from 0.5.21 to 0.5.22 in the
dependencies gro...</li>
<li><a
href="33b3cefb83"><code>33b3cef</code></a>
chore: update types and test (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12564">#12564</a>)</li>
<li><a
href="8b2059f82a"><code>8b2059f</code></a>
fix(performance): use Runtime.getProperties for improved performance (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12561">#12561</a>)</li>
<li><a
href="0b2999f7b1"><code>0b2999f</code></a>
fix: waitForSelector should work for pseudo classes (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12545">#12545</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.10.0...puppeteer-v22.10.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=puppeteer&package-manager=npm_and_yarn&previous-version=22.10.0&new-version=22.10.1)](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>
2024-06-12 01:42:48 +00:00
dependabot[bot]
3e177230cd build(deps-dev): Bump @types/node from 20.13.0 to 20.14.2 in /scripts/tests/browser (#5317)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 20.13.0 to 20.14.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=20.13.0&new-version=20.14.2)](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>
2024-06-11 18:42:40 +00:00
Jamil
7e533c42f8 refactor: Split releases for Clients and Gateways (#5287)
- Removes version numbers from infra components (elixir/relay)
- Removes version bumping from Rust workspace members that don't get
published
- Splits release publishing into `gateway-`, `headless-client-`, and
`gui-client-`
- Removes auto-deploying new infrastructure when a release is published.
Use the Deploy Production workflow instead.

Fixes #4397
2024-06-10 16:47:49 +00:00
Reactor Scram
37b3bc2047 test(gui-client): remove parts of the test scripts that are redundant (#5280)
The post-install script does all this stuff now
63567b5b33/rust/gui-client/src-tauri/deb_files/postinst (L9-L15)

Ran into this while working on #5279
2024-06-07 20:00:49 +00:00
dependabot[bot]
41313ebc68 build(deps): Bump puppeteer from 22.7.1 to 22.10.0 in /scripts/tests/browser (#5172)
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 22.7.1 to
22.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v22.10.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.9.0...puppeteer-core-v22.10.0">22.10.0</a>
(2024-05-24)</h2>
<h3>Features</h3>
<ul>
<li>support running Puppeteer in extensions (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12459">#12459</a>)
(<a
href="3c6f01a31d">3c6f01a</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>providing null to page.authenticate should disable authentication
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12203">#12203</a>)
(<a
href="f375267e79">f375267</a>)</li>
<li>roll to Chrome 125.0.6422.76 (r1287751) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12477">#12477</a>)
(<a
href="d83d9a6ae2">d83d9a6</a>)</li>
<li>roll to Chrome 125.0.6422.78 (r1287751) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12484">#12484</a>)
(<a
href="f30977f817">f30977f</a>)</li>
<li><strong>webdriver:</strong> emit single HTTPRequest for Auth
requests (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12455">#12455</a>)
(<a
href="637e82796b">637e827</a>)</li>
</ul>
<h2>puppeteer: v22.10.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.9.0...puppeteer-v22.10.0">22.10.0</a>
(2024-05-24)</h2>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 22.9.0 to 22.10.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>puppeteer-core: v22.9.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.8.2...puppeteer-core-v22.9.0">22.9.0</a>
(2024-05-16)</h2>
<h3>Features</h3>
<ul>
<li>roll to Chrome 125.0.6422.60 (r1287751) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12446">#12446</a>)
(<a
href="3de9fd3f4c">3de9fd3</a>)</li>
</ul>
<h2>puppeteer: v22.9.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.8.2...puppeteer-v22.9.0">22.9.0</a>
(2024-05-16)</h2>
<h3>Features</h3>
<ul>
<li>roll to Chrome 125.0.6422.60 (r1287751) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12446">#12446</a>)
(<a
href="3de9fd3f4c">3de9fd3</a>)</li>
</ul>
<h3>Dependencies</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d963fcdd80"><code>d963fcd</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12456">#12456</a>)</li>
<li><a
href="f30977f817"><code>f30977f</code></a>
fix: roll to Chrome 125.0.6422.78 (r1287751) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12484">#12484</a>)</li>
<li><a
href="f375267e79"><code>f375267</code></a>
fix: providing null to page.authenticate should disable authentication
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12203">#12203</a>)</li>
<li><a
href="97a4951d52"><code>97a4951</code></a>
test: disable flaky installation test on macos-13 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12478">#12478</a>)</li>
<li><a
href="d83d9a6ae2"><code>d83d9a6</code></a>
fix: roll to Chrome 125.0.6422.76 (r1287751) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12477">#12477</a>)</li>
<li><a
href="045ed9530d"><code>045ed95</code></a>
test: add doctype to some screenshot tests to avoid running them in
quirks mo...</li>
<li><a
href="08b6545726"><code>08b6545</code></a>
docs: add guides to the sidebar (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12474">#12474</a>)</li>
<li><a
href="3c6f01a31d"><code>3c6f01a</code></a>
feat: support running Puppeteer in extensions (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12459">#12459</a>)</li>
<li><a
href="c8a64c0f79"><code>c8a64c0</code></a>
chore: remove circular dependency (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12472">#12472</a>)</li>
<li><a
href="d7c3a7ae33"><code>d7c3a7a</code></a>
chore(deps): Bump the all group with 2 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12464">#12464</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.7.1...puppeteer-v22.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=puppeteer&package-manager=npm_and_yarn&previous-version=22.7.1&new-version=22.10.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>
2024-06-03 15:34:08 +00:00
dependabot[bot]
f2472c27b0 build(deps-dev): Bump @types/node from 20.12.7 to 20.13.0 in /scripts/tests/browser (#5173)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 20.12.7 to 20.13.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=20.12.7&new-version=20.13.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>
2024-06-03 15:24:49 +00:00
Thomas Eizinger
404299cbe6 build: update Nix dependencies (#5108)
Allows users of the nix dev-shell to use Rust 1.78.
2024-05-23 04:10:29 +00:00
Reactor Scram
2416d4f45c docs(client): update Linux and Windows Client docs (#5007)
Closes #4995
Closes #4925
Closes #4997
Closes #5047 
Supersedes #4965 and #5004.

NOT changing:

- Page description for other Clients. That is still "Firezone
Documentation"

Need these Clients:

- Windows GUI
- Linux headless 
- Linux GUI

to have these things documented: (with exact terms)

- Prerequisites
- Installation
- Usage
  - Signing in
  - Accessing a Resource
  - Signing out
  - Quitting
- Upgrading
- Diagnostic logs
- Uninstalling
- Troubleshooting
  - DNS not reverted after exit
  - DNS Resource not accessible
- Known issues

```[tasklist]
### Before merging
- [x] Test Windows GUI instructions
- [x] Add troubleshooting for #5027
- [x] Fill in troubleshooting sections
- [x] Test Linux GUI instructions
- [x] Linux headless - Make sure SIGTERM or Ctrl+C or whatever reverts resolv.conf
- [x] Test Linux Headless instructions
- [x] Page descriptions should be "How to install and use the Firezone $OS $UI client."
- [x] ~~Linux headless - Confirm behaviors and default values of all env vars~~ (skipping - The ones that are used are exercised)
- [x] Grep for TODOs
- [x] Change "un-install" to "uninstall"
- [x] Capitalize "Client" where needed
- [x] Change "IPC service" to "Tunnel service" or something
- [x] Change "SplitDNS" to "Split DNS"
- [ ] Wait for next Client release to be cut
```

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-05-22 20:22:46 +00:00
Jamil
7c5669ef51 chore: bump version to 1.0.5 for linux/windows (#5093)
Just need a rubberstamp. This was generated with `make -f
scripts/Makefile version`
2024-05-22 18:25:12 +00:00
Reactor Scram
04fd2f9581 chore(gui-client): disable the Welcome screen only after the first sign-in (#5066)
Closes #5015.

This way if the user opens and closes the GUI without doing anything,
the Welcome screen still appears until they successfully sign in.
Previously the `ran_before` flag was set after the first GUI startup.

Tested on Windows once.
2024-05-21 18:20:40 +00:00
Reactor Scram
d59c3fef0a build(gui-client): add post-install and pre-remove scripts to the deb package (#5011)
Closes #4987

```[tasklist]
### Before merging
- [x] Get an x64 test VM on the Windows laptop and test a CI-built deb
```
2024-05-16 23:03:21 +00:00
Reactor Scram
770bb3432e chore(client): update internal docs for Windows and Linux GUI Clients (#5003)
Copied out of #4978
2024-05-15 22:19:04 +00:00
Reactor Scram
9c143bced3 test: remove backwards compatibility code for older Docker images (#4993)
Closes #4951
2024-05-15 17:08:30 +00:00
Jamil
e50b3bd865 chore: bump versions for 1.0.4 release (#4985)
Update download links etc for the 1.0.4 release
2024-05-14 16:11:12 +00:00
Jamil
469e970056 ci: fix flaky dns-systemd test by waiting a second before running (#4962)
It
[appears](https://github.com/firezone/firezone/actions/runs/9052492759/job/24870262108?pr=4961)
that occasionally the test runs before DNS sentinel is applied and/or
Resources updated.
2024-05-13 14:10:04 +00:00
Reactor Scram
5814efc036 chore(windows-client): proof of concept for installing a system service with WiX (#4903)
```[tasklist]
### Before merging
- [x] Make sure the service auto-starts
- [x] Make the process idle and report its status to Windows properly using https://github.com/mullvad/windows-service-rs
- [x] DRY log dir code
- [x] Figure out where service logs will go and how the GUI will zip them
- [x] Make sure the service gets a shut down signal from Windows (this is hard to catch in the Tauri GUI)
- [x] Make sure the service restarts when Firezone is updated
- [x] Make sure the service is stopped and un-installed when Firezone is un-installed
- [x] Add test to install the MSI and check that the service runs
- [x] (will move to another PR) ~~Clean up function names~~
- [x] Make sure the Linux GUI was not broken by refactoring
```
2024-05-13 14:08:21 +00:00
Jamil
0f112e0e69 fix(gateway): Detect executables with 'ELF' string (#4974)
On some older systems (CentOS 7), `file gateway` will produce this:

```
firezone-gateway: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
```

`ELF` is a much more reliable means of detecting the file is a binary
executable.
2024-05-13 07:16:52 -07:00
Reactor Scram
0ad72f00d1 refactor(headless-client): remove "linux-client" alias (#4933)
Is this worth it?

```[tasklist]
### Before merging
- [x] Double-check docs and ask Jamil to review
- [x] Would need Brian to review the terraform thing
- [x] Make sure Docker compat isn't broken for existing users (shouldn't be, the image is still just `client`)
- [x] Decide whether compatibility tests need to pass (if something breaks after merge we can revert this)
```
2024-05-10 15:43:02 +00:00
Reactor Scram
390f9de811 refactor(ci): use the same test framework for headless client and IPC service (#4943)
This will fix an issue with `linux-group` and `token-path` that happens
when I try to split up the binaries.

```[tasklist]
### Before merging
- [x] Fix linux-group. That stub-ipc-client command doesn't even exist anymore
```
2024-05-10 14:57:55 +00:00
Reactor Scram
42bafa898c chore(ci): fix debug_exit in the flaky systemd DNS test (#4934)
If these fail we shouldn't bail out since we're already bailing out and
we need them to continue for debug output.

Refs #4921
2024-05-09 15:06:01 +00:00
Reactor Scram
65064b1907 chore(ci): add debugging for that flaky DNS test (#4926)
Refs #4921 

I'm not sure of the cause yet. This extra debugging code should narrow
it down.
2024-05-08 21:39:55 +00:00
Jamil
1be77d4e2d chore: Bump versions to link 1.0.3 packages (#4924)
Link to latest binaries

Generated with `make -f scripts/Makefile`.

Just need a rubber-stamp, changes should be GTG
2024-05-08 21:09:50 +00:00
Reactor Scram
7870dcab25 ci(gui-client/linux): publish deb package in the release (#4876)
```[tasklist]
### Before merging
- [x] (FAILED) Test CI deb on Ubuntu 24.04 #4883
- [x] Wait for everything else to merge: #3884
- [x] Fix #4889
- [x] Fix #4890
- [x] Test on Ubuntu 20.04 (683bddc0b passed)
- [x] Test on Ubuntu 22.04 (683bddc0b passed)
- [x] diff between main and 683bddc0b to make sure nothing in the code changed
- [ ] Someone other than me should give it a once-over. `intended_behavior.md` has the manual smoke test I've been doing on it. Install script is <a943a9dba1/scripts/firezone-client-gui-install.sh> Deb package from CI is <https://github.com/firezone/firezone/actions/runs/8972824465/artifacts/1477261361> 
```
2024-05-07 14:11:24 +00:00
Reactor Scram
cdebfa6901 chore(gui-client/linux): fix group name, firezone should be firezone-client (#4889)
Also improved the manual testing checklist a little
2024-05-06 14:09:30 +00:00
Reactor Scram
e8b1736cb0 chore(gui-client/linux): show an error if the user doesn't belong to the firezone group (#4822)
Ran into this during testing. For some reason Ubuntu 20.04, maybe
others, requires a reboot to add the desktop user to a group. I thought
logging out and back in should be enough but it's not.

<img width="527" alt="image"
src="https://github.com/firezone/firezone/assets/13400041/4f7c2551-c7aa-4ecc-be55-66c6e6ac32a0">

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-05-03 14:04:21 +00:00
Reactor Scram
93f7c86f55 chore(gui-client/linux): add smoke test checklist (#4882)
This is what I've been doing on the testing VMs to exercise the
first-run behavior.

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-05-02 19:33:14 +00:00
Reactor Scram
35a802d6d9 chore(gui-client/linux): add install script and change group to firezone-client (#4879)
Closes #4873
2024-05-02 17:51:28 +00:00
Andrew Dryga
6f3ac132ae Disable log colors when gateway is logging to systemd 2024-05-01 20:33:37 -06:00
Andrew Dryga
09f25d6e0c refactor(infra): Install gateways without using Docker (#4839) 2024-05-01 10:31:18 -06:00
dependabot[bot]
6172d6c080 build(deps): Bump puppeteer from 22.6.4 to 22.7.1 in /scripts/tests/browser (#4866)
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 22.6.4 to
22.7.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v22.7.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.7.0...puppeteer-core-v22.7.1">22.7.1</a>
(2024-04-25)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>roll to Chrome 124.0.6367.78 (r1274542) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12314">#12314</a>)
(<a
href="1241ccc908">1241ccc</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@​puppeteer/browsers</code> bumped from 2.2.2 to 2.2.3</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>puppeteer: v22.7.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.7.0...puppeteer-v22.7.1">22.7.1</a>
(2024-04-25)</h2>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 22.7.0 to 22.7.1</li>
<li><code>@​puppeteer/browsers</code> bumped from 2.2.2 to 2.2.3</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>puppeteer-core: v22.7.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.6.5...puppeteer-core-v22.7.0">22.7.0</a>
(2024-04-23)</h2>
<h3>Features</h3>
<ul>
<li>roll to Chrome 124.0.6367.60 (r1274542) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12305">#12305</a>)
(<a
href="ed9d7dd2f5">ed9d7dd</a>)</li>
<li><strong>webdriver:</strong> support Network interception (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12279">#12279</a>)
(<a
href="8fa52a50bd">8fa52a5</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>performance:</strong> cache isolatedHandle (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12150">#12150</a>)
(<a
href="9a17ec3b2a">9a17ec3</a>)</li>
</ul>
<h2>puppeteer: v22.7.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.6.5...puppeteer-v22.7.0">22.7.0</a>
(2024-04-23)</h2>
<h3>Features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="feef2a300e"><code>feef2a3</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12318">#12318</a>)</li>
<li><a
href="eba46368d8"><code>eba4636</code></a>
ci: switch to macos-13 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12326">#12326</a>)</li>
<li><a
href="e35e783a74"><code>e35e783</code></a>
chore: make a single visibility check (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12317">#12317</a>)</li>
<li><a
href="e254f746ee"><code>e254f74</code></a>
chore: remove type castings (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12322">#12322</a>)</li>
<li><a
href="97637036c1"><code>9763703</code></a>
test: change test for BrowserContext (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12321">#12321</a>)</li>
<li><a
href="c9a5644c65"><code>c9a5644</code></a>
fix(performance): speed up Firefox profile creation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12320">#12320</a>)</li>
<li><a
href="943ade77b7"><code>943ade7</code></a>
build(deps): bump chromium-bidi to 0.5.19 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12319">#12319</a>)</li>
<li><a
href="1241ccc908"><code>1241ccc</code></a>
fix: roll to Chrome 124.0.6367.78 (r1274542) (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12314">#12314</a>)</li>
<li><a
href="165e3ec10d"><code>165e3ec</code></a>
chore: update FF expectations after latest nighty (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12316">#12316</a>)</li>
<li><a
href="be259de95f"><code>be259de</code></a>
test: fail faster if browser crashes (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/12310">#12310</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.6.4...puppeteer-v22.7.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=puppeteer&package-manager=npm_and_yarn&previous-version=22.6.4&new-version=22.7.1)](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>
2024-05-01 14:39:38 +00:00