121 Commits

Author SHA1 Message Date
Thomas Eizinger
448499b13e ci: only create data-plane draft release on trigger (#10542)
Right now, draft releases for Gateways and headless-clients are created
on each merge to main. For all other components, we only create those
when we trigger the workflow for a specific commit.

To align this functionality, we split the `_build_artifacts.yml`
workflow into two:

- `_control-plane.yml`
- `_data-plane.yml`

Apart from the `sha` input, all inputs only concern the data-plane,
therefore massively simplifying the control-plane workflow.
Additionally, the control-plane also doesn't have a manual trigger
because its artifacts never get released on GitHub.

Resolves: #10541
2025-10-12 07:40:25 +00:00
Thomas Eizinger
eeadde0c86 ci: bump Ubuntu runners to 24.04 (#10288)
Ubuntu 22.04 is over 3 years old and therefore ships with quite an old
kernel. Our production VMs (for relays) all run Ubuntu 24.04 so it makes
sense to build and test them on the same kernel / OS release. For
consistency reasons, we therefore bump all runners to 24.04.
2025-09-04 02:04:55 +00:00
Jamil
8eb738e66a chore(ci): downgrade runners to free tier (#10248)
To avoid burning Azure credits, we move the runners back down to the
free tier. Now that caching is properly set up, this should incur only a
minor increase in CI time.
2025-08-26 10:48:45 -07:00
Jamil
ec5c433f5b feat(ci): use larger runners for all jobs (#9646)
Append `-xlarge` to the previous runner labels to match new larger
runners.
2025-06-23 14:23:22 -07:00
Jamil
bbfde63ae9 fix(ci): call infra repo not firezone (#9441)
In #9439 I incorrectly used this repo as the target. Updating to call
the correct repo.
2025-06-06 00:20:40 +00:00
Jamil
8d05e8b276 chore: trigger staging deploy on checks passed (#9439)
Now that our infra-as-code is moved into another repo, we need a
mechanism to trigger the staging deploy. We can use
`repository_dispatch` for that, which allows us to trigger the staging
workflow by sending an HTTP API request that matches the configuration
of the `repository_dispatch` workflow trigger on that repo.

Related: https://github.com/firezone/infra/pull/36
2025-06-05 21:09:53 +00:00
Jamil
1e94afdb98 chore: move terraform/ to private repo (#9421)
Since we'll be adding ops playbooks and other things here, it makes
sense to separate infra from product source.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-05 19:24:06 +00:00
Jamil
d99508ead5 chore(infra): Move terraform/environments to submodule (#8168)
This moves our current GCP infra to a new firezone/environments repo.
The existing Git history is preserved, and CI config is updated to clone
this submodule before running any terraform jobs.
2025-02-18 14:01:13 +00:00
Thomas Eizinger
d26df944c0 ci: reference GitHub actions by hash (#7724)
To improve supply-chain security, reference all GitHub actions using the
hash of the released tag. GitHub recommends to do this for third-party
actions
(https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-third-party-actions).
In order to make our CI more deterministic, I opted to do it for all our
actions. This means any change to our workflow configuration requires a
source code change and thus passing CI on our end.

Dependabot will automatically issue PRs for these actions and update the
comment with the new version next to them.

Resolves: #2497.
2025-01-12 17:35:52 +00:00
dependabot[bot]
7a4a1cccc3 build(deps): Bump hashicorp/tfc-workflows-github from 1.3.1 to 1.3.2 (#7622)
Bumps
[hashicorp/tfc-workflows-github](https://github.com/hashicorp/tfc-workflows-github)
from 1.3.1 to 1.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/releases">hashicorp/tfc-workflows-github's
releases</a>.</em></p>
<blockquote>
<h2>v1.3.2</h2>
<ul>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.3.2">tfc-workflows-tooling@v1.3.2</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/blob/main/CHANGELOG.md">hashicorp/tfc-workflows-github's
changelog</a>.</em></p>
<blockquote>
<h1>v1.3.2</h1>
<ul>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.3.2">tfc-workflows-tooling@v1.3.2</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8e08d1ba95"><code>8e08d1b</code></a>
Prepare v1.3.2 release (<a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/2981">#2981</a>)</li>
<li><a
href="2a0a556cba"><code>2a0a556</code></a>
[COMPLIANCE] Update MPL-2.0 LICENSE (<a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/2980">#2980</a>)</li>
<li><a
href="b15578fa52"><code>b15578f</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/2976">#2976</a>
from salilsub/main</li>
<li><a
href="030a2307e5"><code>030a230</code></a>
Adding GITHUB_TOKEN link to README</li>
<li><a
href="833d60e689"><code>833d60e</code></a>
Adding information about setting the GITHUB_TOKEN permissions</li>
<li>See full diff in <a
href="https://github.com/hashicorp/tfc-workflows-github/compare/v1.3.1...v1.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hashicorp/tfc-workflows-github&package-manager=github_actions&previous-version=1.3.1&new-version=1.3.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>
2025-01-02 18:25:43 +00:00
Jamil
6f7f6a4f34 style: Enforce code style across all supported languages using Prettier (#7322)
This ensure that we run prettier across all supported filetypes to check
for any formatting / style inconsistencies. Previously, it was only run
for files in the website/ directory using a deprecated pre-commit
plugin.

The benefit to keeping this in our pre-commit config is that devs can
optionally run these checks locally with `pre-commit run --config
.github/pre-commit-config.yaml`.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-11-13 00:19:15 +00:00
dependabot[bot]
43b8a97ee1 build(deps): Bump hashicorp/tfc-workflows-github from 1.3.0 to 1.3.1 (#6118)
Bumps
[hashicorp/tfc-workflows-github](https://github.com/hashicorp/tfc-workflows-github)
from 1.3.0 to 1.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/releases">hashicorp/tfc-workflows-github's
releases</a>.</em></p>
<blockquote>
<h2>v1.3.1</h2>
<ul>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.3.1">tfc-workflows-tooling@v1.3.1</a></li>
<li>Compiles for Linux regardless of current CPU architecture when using
the provided Dockerfile by <a
href="https://github.com/ggambetti"><code>@​ggambetti</code></a> <a
href="https://redirect.github.com/hashicorp/tfc-workflows-tooling/pull/113">hashicorp/tfc-workflows-tooling#113</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/blob/main/CHANGELOG.md">hashicorp/tfc-workflows-github's
changelog</a>.</em></p>
<blockquote>
<h1>v1.3.1</h1>
<ul>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.3.1">tfc-workflows-tooling@v1.3.1</a></li>
<li>Compiles for Linux regardless of current CPU architecture when using
the provided Dockerfile by <a
href="https://github.com/ggambetti"><code>@​ggambetti</code></a> <a
href="https://redirect.github.com/hashicorp/tfc-workflows-tooling/pull/113">hashicorp/tfc-workflows-tooling#113</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5bd1031f2e"><code>5bd1031</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/2974">#2974</a>
from hashicorp/release/v1.3.1</li>
<li><a
href="b2e72f369d"><code>b2e72f3</code></a>
fix: link in changelog entry</li>
<li><a
href="29b0596744"><code>29b0596</code></a>
prepare v1.3.1 release</li>
<li><a
href="3fa28309b9"><code>3fa2830</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/2950">#2950</a>
from lucymhdavies/patch-1</li>
<li><a
href="485f3828af"><code>485f382</code></a>
Correct links to starter workflow templates</li>
<li><a
href="0207987bdb"><code>0207987</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/1675">#1675</a>
from hashicorp/mjyocca/disable-workflows</li>
<li><a
href="0c302783ed"><code>0c30278</code></a>
chore: disable sync workflow</li>
<li><a
href="9d17c9cb09"><code>9d17c9c</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/45">#45</a>
from hashicorp/TF-11430/rebrand</li>
<li><a
href="a39678613f"><code>a396786</code></a>
docs: update workflow file refs to HCP Terraform</li>
<li><a
href="b793b8fe2e"><code>b793b8f</code></a>
chore: rename workflow filenames</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/tfc-workflows-github/compare/v1.3.0...v1.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hashicorp/tfc-workflows-github&package-manager=github_actions&previous-version=1.3.0&new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR 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>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 16:12:42 -06:00
Jamil
36fc4cb593 fix(ci): Always build debug images - release binaries with debug tools (#6474)
This will always build images we can use for last-minute compatibility
tests, even if the merge group was bypassed.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-08-28 16:58:40 -07:00
Jamil
7d91d47ccb ci: Fix leftovers from #5287 (#5293)
https://github.com/firezone/firezone/actions/runs/9452482657
2024-06-10 12:32:24 -05: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
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
Andrew Dryga
687bebd4b4 Move GCP deployments to separate GitHub environments 2024-05-14 16:10:56 -06: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
Andrew Dryga
67356650d7 Try to use deployment environments 2024-05-13 14:43:25 -06: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
dependabot[bot]
61a2d3b78a build(deps): Bump hashicorp/tfc-workflows-github from 1.2.0 to 1.3.0 (#4841)
Bumps
[hashicorp/tfc-workflows-github](https://github.com/hashicorp/tfc-workflows-github)
from 1.2.0 to 1.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/releases">hashicorp/tfc-workflows-github's
releases</a>.</em></p>
<blockquote>
<h2>v1.3.0</h2>
<ul>
<li>Adds support for <code>target</code> input for
<code>create-run</code> action by <a
href="https://github.com/trutled3"><code>@​trutled3</code></a> <a
href="https://redirect.github.com/hashicorp/tfc-workflows-tooling/pull/97">#97</a></li>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.3.0">tfc-workflows-tooling@v1.3.0</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/blob/main/CHANGELOG.md">hashicorp/tfc-workflows-github's
changelog</a>.</em></p>
<blockquote>
<h1>v1.3.0</h1>
<ul>
<li>Adds support for <code>target</code> input for
<code>create-run</code> action by <a
href="https://github.com/trutled3"><code>@​trutled3</code></a> <a
href="https://redirect.github.com/hashicorp/tfc-workflows-tooling/pull/97">#97</a></li>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.3.0">tfc-workflows-tooling@v1.3.0</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34866d21f6"><code>34866d2</code></a>
Prepare v1.3.0 release (<a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/43">#43</a>)</li>
<li>See full diff in <a
href="https://github.com/hashicorp/tfc-workflows-github/compare/v1.2.0...v1.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hashicorp/tfc-workflows-github&package-manager=github_actions&previous-version=1.2.0&new-version=1.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>
2024-05-05 13:58:16 +00:00
Jamil
4dc656c90a chore(ci): bump versions (#4840) 2024-04-30 16:31:20 -07:00
Jamil
b79ce96bc6 chore(website): Bump versions (#4821)
- Bump versions to point to latest binaries
- Stage versions for next release
2024-04-29 22:06:00 +00:00
Jamil
5dc52edecc ci: Bump versions and fix release overwrites (#4769) 2024-04-24 11:43:19 -07:00
Jamil
9415a64900 chore(ci): build docker dev images with main (#4643)
Fixes broken pulling of images for dev
2024-04-16 20:29:11 +00:00
Jamil
9a317247a1 chore(ci): .env not available in with shared workflow context (#4631)
Le sigh
2024-04-16 00:01:17 +00:00
Jamil
42385fd565 ci: Add tag name to build-dev-images (#4629)
dev images don't uses releases and shouldn't rely on release-drafter,
instead following the `VERSION` that's set in CI.

Fixes https://github.com/firezone/firezone/actions/runs/8696082974
2024-04-15 22:10:54 +00:00
Jamil
63c546eb45 chore(docker): Fix docker image local builds (#4127)
Fixes an artifact leftover from the refactor.

Fixes #4122
2024-03-14 00:06:10 +00:00
Jamil
eb01de0285 chore(ci): Use tool versions action to parse terraform version (#4076)
Extracted from feedback on #4049
2024-03-12 17:13:31 +00:00
Jamil
0f4348c406 chore(ci): Fix deploy staging logic bug (#4101) 2024-03-12 10:13:17 -07:00
Jamil
ef2d272f78 chore(ci): Use release binaries for performance tests (#4100)
- Don't build perf images for control plane images
- Use release binaries for performance tests
2024-03-12 16:29:33 +00:00
Jamil
391150f0e1 chore(ci): Fix new issues in cd.yml (#4085)
Fixes some issues encountered after the merge of #4049 

- Fix performance tests to only run using base_ref and head_ref to avoid
dependence on `main`
- Fixes some typos
- Prevents a catch-22 condition where breaking compatibility meant we
wouldn't be able to deploy production
2024-03-12 02:06:19 +00:00
Jamil
6575e0ca26 chore(ci): Refactor CI to use prod images in staging and prevent accidental hotfix breakages (#4049)
- Runs release asset builds simultaneously with `deploy-staging`. Those
don't depend on each other.
- Prevents running some build workflows in CD because they're run
already in the PR and in the merge group, and the risk of semantic
conflict is negligible
- Run `release` assets in staging
- Adds `compatibility_tests`: **To successfully introduce a breaking
change in the control / data plane APIs, you must now "Merge as
Administrator"**
- Since `CI` is no longer run on `main`, caching needed to be refactored
to make sense again
- Since `CI` is no longer run on `main`, the Elixir
`migrations_and_seeds_test` had to be rewritten. This now tests
migrations using `git checkout` instead of importing `main`'s DB dump.
- Move tauri builds to its own workflow so we can trigger Linux and
Windows builds manually on an adhoc basis like we do for the Swift and
Kotlin builds
- Add a new `hotfix` workflow that will run `compatibility_tests` with
the latest published images
- Add `workflow_dispatch` to trigger `CD` manually for testing purposes
(cc @ReactorScram)


Refs #3995
2024-03-11 20:01:34 +00:00
Jamil
9cab250696 chore(windows): Sign internal exe using beforeBundleCommand (#3994)
Refs #3230 

It looks like we need to sign the internal exe before it gets bundled
too. We can use `beforeBundleCommand` to do so.

Soon, Tauri should have native support for this exact scenario:
https://github.com/tauri-apps/tauri/pull/8718
2024-03-06 16:00:54 +00:00
Jamil
19e833262f chore(windows): Sign windows exe too (#3992)
Fixes #3230
2024-03-05 22:35:24 -08:00
Jamil
70a9ed2714 feat(windows): code sign Windows client (#3891)
- Uses infra we [set up
previously](https://portal.azure.com/#@firezoneinc.onmicrosoft.com/resource/subscriptions/43767d16-5744-41af-ab38-6323d54b9b7d/resourceGroups/Default/providers/Microsoft.KeyVault/vaults/firezone-code-signing/overview)
in Azure for codesigning.
- Cert is currently expired so this is likely to fail. Currently pending
renewal with GlobalSign
- May need a few more pushes to `main` to troubleshoot issues since this
is run in CD

Fixes #3230
2024-03-06 01:58:43 +00:00
Jamil
268e792f48 chore(ci): Use GH actions cache for Tauri builds (#3906)
Builds off #3905 and uses the GH actions cache for tauri builds in order
to get around the `crate-type` problem sccache has with Tauri apps.

Fixes #3456
2024-03-05 01:07:31 +00:00
dependabot[bot]
e8382e872e build(deps): Bump release-drafter/release-drafter from 5 to 6 (#3849)
Bumps
[release-drafter/release-drafter](https://github.com/release-drafter/release-drafter)
from 5 to 6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/release-drafter/release-drafter/releases">release-drafter/release-drafter's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h1>What's Changed</h1>
<ul>
<li>Update Node.js to 20 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1379">#1379</a>)
<a href="https://github.com/massongit"><code>@​massongit</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.25.0...v6.0.0">https://github.com/release-drafter/release-drafter/compare/v5.25.0...v6.0.0</a></p>
<h2>v6.0.0-beta.1</h2>
<p>Prerelease of v6, first release of the CLI, feel free to provide
feedback in the pull request: <a
href="https://redirect.github.com/release-drafter/release-drafter/pull/1204">release-drafter/release-drafter#1204</a></p>
<h2>v5.25.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>add prerelease increment behavior (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1303">#1303</a>)
<a href="https://github.com/neilime"><code>@​neilime</code></a></li>
<li>add latest input (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1348">#1348</a>)
<a href="https://github.com/o-mago"><code>@​o-mago</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.24.0...v5.25.0">https://github.com/release-drafter/release-drafter/compare/v5.24.0...v5.25.0</a></p>
<h2>v5.24.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>Add release version to github action output (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1300">#1300</a>)
<a
href="https://github.com/mehdihadeli"><code>@​mehdihadeli</code></a></li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>fix(release): strip prefix before comparing version (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1255">#1255</a>)
<a href="https://github.com/neilime"><code>@​neilime</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.23.0...v5.24.0">https://github.com/release-drafter/release-drafter/compare/v5.23.0...v5.24.0</a></p>
<h2>v5.23.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>Add <code>include-pre-releases</code> configuration option (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1302">#1302</a>)
<a
href="https://github.com/robbinjanssen"><code>@​robbinjanssen</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.22.0...v5.23.0">https://github.com/release-drafter/release-drafter/compare/v5.22.0...v5.23.0</a></p>
<h2>v5.22.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>Only use last full release when drafting (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1240">#1240</a>)
<a href="https://github.com/ssbarnea"><code>@​ssbarnea</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3f0f87098b"><code>3f0f870</code></a>
v6.0.0</li>
<li><a
href="80296b4fba"><code>80296b4</code></a>
Update Node.js to 20 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1379">#1379</a>)</li>
<li>See full diff in <a
href="https://github.com/release-drafter/release-drafter/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=release-drafter/release-drafter&package-manager=github_actions&previous-version=5&new-version=6)](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-03-01 15:35:14 +00:00
Reactor Scram
e66d9c4345 fix(gui-client): fix some papercuts (#3769)
Fixes various small issues, including some of the issues in #3768:

- Clicking "About" or "Settings" no longer toggles a window between
visible and hidden, it always shows and un-minimizes the window. So if
it's minimized, it won't vanish, it will appear
- Log message for vt100 failure is clearer
- The "cancel sign-in" race was coincidentally already working as
intended, but the code and comments are clarified.
- Fix the asset name used to check for auto-updates (this cannot be
end-to-end tested until we cut a new release of the clients on Github,
not just a draft release)
- Fix README to include Ubuntu instructions
2024-02-27 00:17:20 +00:00
Reactor Scram
fd31152106 refactor(ci): enable Linux do-nothing GUI builds (but not tests) in CI/CD, extract scripts for that (#3735)
Builds a do-nothing `return 0` Linux client to make sure the CI/CD
scripts are set up and producing AppImage / deb bundles as expected.


![image](https://github.com/firezone/firezone/assets/13400041/7d2d8f02-adde-4b1b-89ec-02aaf112ac48)

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-02-23 17:57:39 +00:00
Reactor Scram
4106419ef1 refactor: rename windows-client to gui-client (#3721)
This may cause conflicts with all my other PRs but it has to happen.

```[tasklist]
- [ ] Update test names in branch protection (I don't think I have perms for this)
```
2024-02-22 20:21:27 +00:00
Reactor Scram
ce79d020c1 ci(windows): add 'firezone' to the MSI names (#3610)
Since `windows-client-x64.msi` could be any other product.

I also split up the build steps similar to how the smoke test does.
2024-02-09 17:14:13 +00:00
Reactor Scram
eb10f257b0 ci(windows): fix warning about CONNLIB_LOG_UPLOAD_INTERVAL_SECS (#3606)
It was bugging me a little. Before:

![image](https://github.com/firezone/firezone/assets/13400041/bc0a03cc-ef47-4b68-b33c-f671eddc78e9)

After (with jq pretty-printing)

![image](https://github.com/firezone/firezone/assets/13400041/faf7ebac-0dc0-4e93-8349-653e57e6eeda)
2024-02-08 16:00:00 +00:00
Reactor Scram
c3004426ec feat(windows): check Github for updates on startup (#3527)
Closes #2717 .

Known issue: If the notification times out and goes into the
notification center (the bell icon), then clicking the notification will
not open the link:


![image](https://github.com/firezone/firezone/assets/13400041/d2de84a5-da31-4a55-97b9-93e12847aa25)

Pass `--always-show-update-notification` to show the notification even
if our release is newer than Github's latest. (e.g. dev release)
Normally it only notifies if the latest release is newer than our
current release.


![image](https://github.com/firezone/firezone/assets/13400041/4597aaed-bc3c-4a43-9269-dff9a82873a8)

Clicking the notification (before it times out) opens the release URL:
https://github.com/firezone/firezone/releases/tag/1.0.0-pre.8

```[tasklist]
- [x] See if the println can be removed
- [x] Try to remove type annotation
- [x] Wording
- [x] Comment why it's necessary to route through Controller
- [x] User agent
```
2024-02-03 19:06:43 +00:00
dependabot[bot]
b98b62ce9d build(deps): Bump hashicorp/tfc-workflows-github from 1.1.1 to 1.2.0 (#3477)
Bumps
[hashicorp/tfc-workflows-github](https://github.com/hashicorp/tfc-workflows-github)
from 1.1.1 to 1.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/releases">hashicorp/tfc-workflows-github's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.0</h2>
<ul>
<li>Adds support for saved plans and destroy runs by <a
href="https://github.com/aaabdelgany"><code>@​aaabdelgany</code></a> <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/pull/36">#36</a></li>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.2.0">tfc-workflows-tooling@v1.2.0</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/blob/main/CHANGELOG.md">hashicorp/tfc-workflows-github's
changelog</a>.</em></p>
<blockquote>
<h1>v1.2.0</h1>
<ul>
<li>Adds support for saved plans and destroy runs by <a
href="https://github.com/aaabdelgany"><code>@​aaabdelgany</code></a> <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/pull/36">#36</a></li>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.2.0">tfc-workflows-tooling@v1.2.0</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="26a0abd40e"><code>26a0abd</code></a>
1.2.0 release</li>
<li><a
href="d049bcc233"><code>d049bcc</code></a>
1.2.0 release.</li>
<li><a
href="cd747a5366"><code>cd747a5</code></a>
Bump tfc-workflows-tooling usage to 1.2.0</li>
<li><a
href="7537cbff56"><code>7537cbf</code></a>
Prepare for 1.2.0 release</li>
<li><a
href="1855fac8fe"><code>1855fac</code></a>
docs: add releases doc (<a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/35">#35</a>)</li>
<li><a
href="fc8a79991e"><code>fc8a799</code></a>
docs: Change <code>TF_ORGANIZATION</code> to
<code>TF_CLOUD_ORGANIZATION</code> (<a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/33">#33</a>)</li>
<li>See full diff in <a
href="https://github.com/hashicorp/tfc-workflows-github/compare/v1.1.1...v1.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hashicorp/tfc-workflows-github&package-manager=github_actions&previous-version=1.1.1&new-version=1.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>
2024-02-02 19:39:40 +00:00
Reactor Scram
33a95932dc ci(windows): hide bare Windows exe from releases page (#3471)
The MSI is needed to install WebView2, otherwise the exe will crash, per
#3451 .

We don't have any manual way to install WebView2, and the MSI also makes
sure the exe goes into Program Files as it should, so I don't think
users will need the bare exe.

It'll still be produced in CI runs for devs / superusers to look at if
they really need.
2024-02-01 01:44:22 +00:00
Reactor Scram
e35dd53649 ci(windows): Upload Windows debug symbols (#3467)
Closes #3450 

I was able to get stacktraces from a crash generated inside my VM. It
picked out the correct line in gui.rs where the crash was triggered.


![image](https://github.com/firezone/firezone/assets/13400041/1fc521a1-059c-489b-b9b8-506570a4df0f)


![image](https://github.com/firezone/firezone/assets/13400041/17e4bdd9-cd2a-477a-821a-ab23e61eadf7)
2024-02-01 01:36:10 +00:00
Jamil
8e3607e395 fix(ci): Setup pnpm before use (#3423)
https://github.com/firezone/firezone/actions/runs/7691240894/job/20956642345
2024-01-29 16:14:14 +00:00
Reactor Scram
2f2f1a65af ci(windows): call pnpm so the frontend gets built, closes #3381 (#3382)
Closes #3381
2024-01-24 18:18:20 +00:00
Jamil
086f7a85c6 refactor(windows): Windows UI polish (#3338)
- Add Tailwind and Flowbite for consistent UI

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-01-23 17:07:25 +00:00