Commit Graph

431 Commits

Author SHA1 Message Date
Thomas Eizinger
6f68b97558 chore(gui-client): release v1.4.6 (#8211) 2025-02-20 04:25:38 +00:00
Jamil
e487272a1b chore(apple): Release Apple clients 1.4.3 (#8144) 2025-02-16 12:59:38 -08:00
Jamil
d38ec466b9 chore(android): Release Android 1.4.2 (#8145) 2025-02-16 12:59:12 -08:00
Jamil
39cbf60ec8 ci: Bump Apple clients to 1.4.2 (#8109)
Fixes a slew of memory leaks, crashes, and other papercuts.
2025-02-13 22:08:45 +00:00
Jamil
2b1e9ac17f fix(gateway): Use StateDirectory to create /var/lib/firezone (#8120)
This is needed on fresh installations.
2025-02-13 05:35:44 -08:00
Thomas Eizinger
0e5d91e266 build(nix): use more recent pnpm (#8106)
Updates to `pnpm` 9.
2025-02-13 01:01:23 +00:00
Jamil
5afeb30f6f ci: Bump GUI clients to 1.4.5 (#8113) 2025-02-12 20:56:27 +00:00
Jamil
36f06b84ea fix(gateway): Harden systemd gateway unit file (#8102)
Tested this with Vultr. No errors or issues reported for either IP or
CIDR resources.

Fixes:
https://firezonehq.slack.com/archives/C06L41XN05T/p1739275605563679?thread_ts=1739267494.554949&cid=C06L41XN05T
2025-02-12 11:09:27 +00:00
Jamil
393436a4aa ci: Release Gateway 1.4.4 (#8096) 2025-02-11 07:22:27 -08:00
Thomas Eizinger
1847e8407a chore: release Headless Client v1.4.3 (#8093) 2025-02-11 14:10:13 +00:00
Thomas Eizinger
6093199ee3 chore: release GUI Client v1.4.4 (#8092) 2025-02-11 14:09:34 +00:00
Jamil
eb3c269d05 ci: Publish headless client 1.4.2 (#8080)
Publishes the headless client 1.4.2, now with Windows support.

Resolves: #3782
2025-02-10 19:10:36 +00:00
Jamil
b8852b3e7a ci: attach Windows headless client to release (#8041)
This publishes the windows headless client using the same convention set
forth by the linux headless client.

Docs and website changes will come in a subsequent PR.

Related: #3782
Resolves: #8046
2025-02-08 13:51:56 +00:00
Thomas Eizinger
3118c3b9cf chore: release GUI client v1.4.3 (#8019) 2025-02-04 22:13:58 +00:00
Jamil
2683fa5242 chore: Release GUI client 1.4.2 (#7964)
Releasing the Windows 1.4.2 client with the interface name fix.
2025-01-30 09:46:24 -08:00
Jamil
6a73406194 chore: Bump Apple version to 1.4.1 (#7946) 2025-01-30 00:04:54 +00:00
Jamil
743d4937b2 ci: fix typos in scripts/bump-versions.sh (#7945)
- Should be `-` not `_` characters for the search pattern
- Prunes the `rust/target` directory from the version sentinel search
command
2025-01-29 22:15:50 +00:00
Jamil
7e231c6b10 chore: Release Android 1.4.1 (#7911) 2025-01-29 00:29:15 +00:00
Jamil
1ec3db387e refactor: use script/bump-version.sh instead of Makefile (#7907)
There isn't a good reason why we're using a Makefile instead of regular
Bash script for bumping versions, so this PR fixes that for better
maintainability.

It also reduces then chances for merge conflicts when bumping version
because the versions are longer on adjacent lines.

Fixes: #7904
2025-01-28 23:47:05 +00:00
Thomas Eizinger
f5779ff921 chore: release Gateway, headless-client and GUI client (#7903)
This bumps the versions of Gateway, headless-client and the GUI client
as well as updates the respective changelogs. These have been released
today:

- https://github.com/firezone/firezone/releases/tag/gui-client-1.4.1
- https://github.com/firezone/firezone/releases/tag/gateway-1.4.3
-
https://github.com/firezone/firezone/releases/tag/headless-client-1.4.1

It is all done in one PR to avoid merge conflicts within the updates of
the Makefile.
2025-01-28 16:17:58 +00:00
Thomas Eizinger
411c9b7899 ci: split installation test for GUI client into separate script (#7851)
In #7795, we optimised our CI pipeline to only test the installation of
the GUI client whenever we actually upload to the draft release. This
trigger has been moved to `workflow_dispatch`, meaning no CI builds
neither from PRs nor `main` perform these steps.

This makes it difficult to test GUI client binaries from PRs because
they also no longer get uploaded to the artifacts of the CI run on the
PR.

To fix this, we split the testing away from the rename script and
unconditionally run the rename script, which allows us to also always
upload the binaries to the CI artifacts.

Finally, uploading to the draft releases is only done when we explicitly
trigger the workflow from `main`. This is a defense-in-depth measure: We
should never publish a code to a release that hasn't been merged to
`main`.
2025-01-24 06:00:11 +00:00
Jamil
6670741dee chore: Bump apple clients to 1.4.0 (#7785)
Bumps Apple clients to the 1.4.0 release. They're already live.
2025-01-17 00:07:25 +00:00
Thomas Eizinger
7ece89b517 chore: bump Rust to 1.84 (#7719) 2025-01-12 17:32:48 +00:00
Jamil
4eb8a5b9be ci: Notarize disk image instead of .zip (#7718)
Rather than notarizing the embedded app, the `notarytool` supports
notarizing the entire disk image instead which will recursively notarize
relevant binaries inside.
2025-01-09 23:24:25 +00:00
Jamil
216ca9b8bc chore(apple/macOS): Add boilerplate Info.plist parameters (#7717)
Some reports online indicate Gatekeeper relies on some of these to be
set for standalone apps and missing them can result in apps failing to
be marked "verified".

https://developer.apple.com/forums/thread/129024?page=2
2025-01-09 22:14:03 +00:00
Jamil
10c166dda4 fix(ci): Fix typo when moving final DMG into place (#7710)
The customized DMG needs to be moved to `ARTIFACT_PATH`. Currently, this
is set to the intermediate `$package_path`.
2025-01-09 07:24:42 +00:00
Jamil
cda50e319a ci: Remove DMG staging directory to prevent Sentry from walking its /Applications symlink (#7687)
`sentry-cli debug-files upload` offers no option to exclude certain
files or directories when recursively searching the given path. Thus, we
need to remove this staging directory to prevent it from recursively
walking the directory and inevitably erroring out when it hits a path it
doesn't have access to.
2025-01-07 17:51:56 +00:00
Jamil
24e2503e01 ci: Upload sentry debug dSYMs for Apple (#7682)
Needed to print traces in Sentry issues for the apple clients.
2025-01-07 10:55:18 +00:00
Jamil
309914a45d chore(android): release version 1.4.0 (#7649)
Bumps the Android client to the 1.4.0 release.

Tested in Android emulator.
2025-01-03 14:45:00 +00:00
Jamil
f82478b877 ci: Add fixes for upload script (#7588)
- Attaching the standalone client needs to happen on `main` runs, like
the other clients
- GitHub can't seem to find the release. I suspect the
`GITHUB_REPOSITORY` var is unneeded.
2024-12-29 19:08:08 +00:00
Jamil
0c38409588 ci: Add standalone macOS build support (#7581)
The CI swift workflow needs to be updated to accommodate the macOS
standalone build. This required a decent amount of refactoring to make
the Apple build process more maintainable.

Unfortunately this PR ended up being a giant ball of yarn where pulling
on one thread tended to unravel things elsewhere, since building the
Apple artifacts involve multiple interconnected systems. Combined with
the slow iteration of running in CI, I wasn't able to split this PR into
easier to digest commits, so I've annotated the PR as much as I can to
explain what's changed.

The good news is that Apple release artifacts can now be easily built
from a developer's machine with simply
`scripts/build/macos-standalone.sh`. The only thing needed is the proper
provisioning profiles and signing certs installed.

Since this PR is so big already, I'll save the swift/apple/README.md
updates for another PR.
2024-12-28 22:28:09 +00:00
Thomas Eizinger
b63061994d chore(headless-client): release version 1.4.0 (#7495)
Headless Client 1.4.0 has been released
(https://github.com/firezone/firezone/releases/tag/headless-client-1.4.0).
This PR updates the changelog and version numbers accordingly.
2024-12-13 07:10:11 +00:00
Thomas Eizinger
7309428cae chore(gateway): release version 1.4.2 (#7494)
Gateway 1.4.2 has been released
(https://github.com/firezone/firezone/releases/tag/gateway-1.4.2). This
PR updates the changelog and version numbers accordingly.
2024-12-13 05:49:19 +00:00
Thomas Eizinger
f0c2bfa6eb chore(gui-client): release version 1.4.0 (#7496)
GUI Client 1.4.0 has been released
(https://github.com/firezone/firezone/releases/tag/gui-client-1.4.0).
This PR updates the changelog and versions accordingly.
2024-12-13 04:41:49 +00:00
Thomas Eizinger
48bd0f9804 chore: bump client versions to 1.4.0 (#7092)
In order to release the new control protocol to users, we need to bump
the versions of the clients to 1.4.0. The portal has a version gate to
only select gateways with version >= 1.4.0 for clients >= 1.4.0. Thus,
bumping these versions can only happen once testing has completed and
the gateway has actually been released as 1.4.0.

Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-12-04 19:48:51 +00:00
Thomas Eizinger
c6e7e6192e build(rust): bump Rust to 1.83 (#7409)
Rust 1.83 comes with a bunch of new lints for elidible lifetimes. Those
also trigger in the generated code of `derivative`. That crate is
actually unmaintained so we replace our usages of it with `derive_more`.
2024-11-29 01:04:06 +00:00
Thomas Eizinger
2c26fc9c0e ci: lint Rust dependencies using cargo deny (#7390)
One of Rust's promises is "if it compiles, it works". However, there are
certain situations in which this isn't true. In particular, when using
dynamic typing patterns where trait objects are downcast to concrete
types, having two versions of the same dependency can silently break
things.

This happened in #7379 where I forgot to patch a certain Sentry
dependency. A similar problem exists with our `tracing-stackdriver`
dependency (see #7241).

Lastly, duplicate dependencies increase the compile-times of a project,
so we should aim for having as few duplicate versions of a particular
dependency as possible in our dependency graph.

This PR introduces `cargo deny`, a linter for Rust dependencies. In
addition to linting for duplicate dependencies, it also enforces that
all dependencies are compatible with an allow-list of licenses and it
warns when a dependency is referred to from multiple crates without
introducing a workspace dependency. Thanks to existing tooling
(https://github.com/mainmatter/cargo-autoinherit), transitioning all
dependencies to workspace dependencies was quite easy.

Resolves: #7241.
2024-11-22 00:17:28 +00:00
Thomas Eizinger
0cb96f5a18 chore(gui-client): publish version 1.3.13 (#7346) 2024-11-15 06:52:38 +00:00
Thomas Eizinger
4db3a457a9 chore(gateway): publish version 1.4.1 (#7347) 2024-11-15 05:40:12 +00:00
Thomas Eizinger
4fc7e62ba8 chore(headless-client): publish version 1.3.7 (#7348) 2024-11-15 05:39:39 +00:00
Jamil
1dda915376 ci: Publish new clients (#7291)
Fixes the roaming bug.
2024-11-08 22:58:06 +00:00
Jamil
71fbfab2d5 fix(gui-client): Include rust files when replacing version sentinels (#7278)
Fixes an issue where the ipc_service was stuck reporting 1.3.10.
2024-11-06 19:25:56 +00:00
Thomas Eizinger
a5730b6f3b chore: release apple client 1.3.8 (#7268)
To be merged once Apple approves the app review.

---------

Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-11-05 11:15:50 -08:00
Jamil
19da306839 ci: Publish GUI 1.3.11 (#7269) 2024-11-05 08:29:23 -08:00
Reactor Scram
7daa1a9ec3 chore(ci): build RPM package (#7190)
Refs #6145 

This bundles aarch64 and x86_64 RPMs in CI and CD.

We'll need a 2nd PR to add everything to the changelog and knowledge
base, after the first release with RPMs is cut.
2024-11-01 18:06:09 +00:00
Thomas Eizinger
88404c3148 chore: publish headless-client v1.3.5 (#7191)
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
2024-10-31 20:49:24 +00:00
Thomas Eizinger
de97735ab2 chore: mark Apple apps 1.3.7 as published (#7194)
As soon as this version hits the app stores, we can merge this.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
2024-10-31 20:47:56 +00:00
Thomas Eizinger
59412223cb chore: bump Android and Apple apps to next version (#7192)
We are in the process of releasing these so we need to bump their
version to the next one.
2024-10-31 14:24:33 +00:00
Thomas Eizinger
6db06b0509 chore: mark Android app version 1.3.6 as published (#7193)
As soon as this version hits the app store, we can merge this.
2024-10-31 14:22:31 +00:00
Thomas Eizinger
8c9c5aeb8c chore: publish GUI client 1.3.10 (#7195)
We've successfully published release 1.3.10 for the GUI client:
https://github.com/firezone/firezone/releases/tag/gui-client-1.3.10.

This PR bumps the versions for development going forward.
2024-10-31 14:22:13 +00:00