This updates the Desktop Self Host workflow with selective platform builds,
standardized secret naming, and artifact organization, synchronizing with
the CI workflow patterns and completing the broader CI/CD updation cycle.
Node.js `v24` became LTS recently, causing CI failures due to `V8` API
incompatibilities with isolated-vm `v5.x`. Pinning to `v22` aligns with our
production environment (Alpine `v3.22.1` ships Node.js `v22.16.0`) and ensures
build stability.
`isolated-vm v6+` will be required for Node.js `v24` support and will be
addressed in a future dependency update cycle.
This replaces the matrix-based Agent build strategy with dedicated
platform-specific jobs, synchronizing with the Desktop workflow
patterns and preparing for the broader CI/CD updation cycle.
* feat(infra): desktop aio build workflow
This PR adds an actions workflow pipeline for building and
packaging the self-hosted Hoppscotch Desktop app across different platforms.
Platform supported right now are
- Windows x86_64 (`msi`)
- MacOS x64 and ARM64 (`dmg`)
- Linux x86_64 (`.deb`, `AppImage`)
The workflow can be triggered either automatically when a new release is created
or manually through workflow dispatch.
Manual trigger has a few customizations like
- build version,
- to support building a different version of the app from prior releases
- repository to checkout,
- to support building from a different source
- branch or tag to build from,
- to support building a different release
- release notes,
- these are mainly for the updater manifest
- custom environment file content, and
- to customize instance target
- an option to disable code signing
- this is self explanatory
- this doesn't disable updater signing
Closes HFE-800
For Linux builds, the workflow generates packages using Ubuntu 24.04,
yet it still contains some specific libraries
```
libwebkit2gtk-4.1-0=2.44.0-2 \
libwebkit2gtk-4.1-dev=2.44.0-2 \
libjavascriptcoregtk-4.1-0=2.44.0-2 \
libjavascriptcoregtk-4.1-dev=2.44.0-2 \
gir1.2-javascriptcoregtk-4.1=2.44.0-2 \
gir1.2-webkit2-4.1=2.44.0-2;
```
For more information, see https://github.com/hoppscotch/hoppscotch/issues/4880
```
Could not create default EGL display: EGL_BAD_PARAMETER. Aborting...
```
Also see:
tauri-apps/tauri#8588https://bugs.webkit.org/show_bug.cgi?id=180739https://bugs.webkit.org/show_bug.cgi?id=165246tauri-apps/tauri#8535
Also `code-signing-cli` is often installed directly from source bin,
since installing it from `crates.io` sometimes breaks the CI:
```
error[E0599]: no method named `fetch_mode_no_cors` found for struct `reqwest::RequestBuilder` in the current scope
--> C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\reqwest-middleware-0.4.1\src\client.rs:532:31
|
532 | inner: self.inner.fetch_mode_no_cors(),
| ^^^^^^^^^^^^^^^^^^ method not found in `RequestBuilder`
```
The build dependency management is a bit complex but it should handles
all necessary system dependencies and builds for the web app first
before bundling it into the desktop app using `webapp-bundler`.
On Windows, the workflow uses Microsoft Azure code signing integration (when
enabled).
For macOS, the workflow builds separate packages for both Intel (x64) and Apple
Silicon (ARM64). It similar to Windows workflow, implements Apple's code signing
and notarization (when credentials are provided).
The final step generates an update manifest that includes info about
all built packages, their signatures, and download URLs.
This manifest is used by the app's auto-updater.
* fix(infra): temporarily disable release workflow
* fix(infra): use repo secret for env var contents
Squashed commit of the following:
commit fac38b9293c6963cbc081f05f67b36d652524956
Author: Oscar Dominguez <dominguez.celada@gmail.com>
Date: Sun Oct 2 02:50:33 2022 +0200
ci(publish-docker): upgrade actions/checkout to v3 (#2721)
commit f352646887682e80105ca758849415f9628dd336
Author: Oscar Dominguez <dominguez.celada@gmail.com>
Date: Sun Oct 2 02:50:15 2022 +0200
ci(deploy-staging-netlify): upgrade actions/checkout to v3 (#2722)
commit 7afc517620a5f649dc08b1bf5afd6af086f20af9
Author: Oscar Dominguez <dominguez.celada@gmail.com>
Date: Sun Oct 2 02:49:57 2022 +0200
ci(deploy-prod): upgrade actions/checkout to v3 (#2723)
commit 50f0540f5afcbd835fa6db89e575aead1023c9ff
Author: Oscar Dominguez <dominguez.celada@gmail.com>
Date: Sun Oct 2 02:49:45 2022 +0200
ci(codeql-analysis): upgrade actions/checkout to v3 (#2724)
commit fc5d5ea131a553b1f38b272525f40941eea031ee
Author: Oscar Dominguez <dominguez.celada@gmail.com>
Date: Sun Oct 2 02:49:31 2022 +0200
ci(deploy-netlify): upgrade actions/checkout to v3 (#2725)
commit 4e16962001800b633309c726f71ac476efba4e13
Author: Oscar Dominguez <dominguez.celada@gmail.com>
Date: Sun Oct 2 02:47:40 2022 +0200
chore(PR template): fix typo (#2726)