The Linux CI/CD build stage currently takes ~19 minutes (over twice as long as the Windows build at ~9.5 minutes).
Root Causes
build-linux.yml runs in an ephemeral container where ~40 Ubuntu development packages are downloaded and installed on every run via apt-get without caching (~3.5 minutes).
AppImage packaging takes >5 minutes because NO_STRIP: "true" prevents stripping debug symbols, bloating the AppDir to 660MB during SquashFS compression and ELF dependency traversal over 100+ ArgyllCMS sidecar binaries.
Swatinem/rust-cache@v2 lacks workspaces: "src-tauri -> target", defaulting to root where no Cargo.lock exists.
Tauri builds unwanted .rpm bundles that are not uploaded.
Older actions/upload-artifact@v3 takes ~2.5 minutes to upload packages.
Proposed Solutions
Add APT package caching and use --no-install-recommends with -qq.
Remove NO_STRIP: "true" from jobs.build-linux.env.
Add workspaces: "src-tauri -> target" to Swatinem/rust-cache@v2.
Add --bundles deb,appimage to npm run tauri build.
Upgrade to actions/upload-artifact@v4 across Linux and Windows workflows.
### Problem
The Linux CI/CD build stage currently takes ~19 minutes (over twice as long as the Windows build at ~9.5 minutes).
### Root Causes
1. `build-linux.yml` runs in an ephemeral container where ~40 Ubuntu development packages are downloaded and installed on every run via `apt-get` without caching (~3.5 minutes).
2. AppImage packaging takes >5 minutes because `NO_STRIP: "true"` prevents stripping debug symbols, bloating the AppDir to 660MB during SquashFS compression and ELF dependency traversal over 100+ ArgyllCMS sidecar binaries.
3. `Swatinem/rust-cache@v2` lacks `workspaces: "src-tauri -> target"`, defaulting to root where no `Cargo.lock` exists.
4. Tauri builds unwanted `.rpm` bundles that are not uploaded.
5. Older `actions/upload-artifact@v3` takes ~2.5 minutes to upload packages.
### Proposed Solutions
1. Add APT package caching and use `--no-install-recommends` with `-qq`.
2. Remove `NO_STRIP: "true"` from `jobs.build-linux.env`.
3. Add `workspaces: "src-tauri -> target"` to `Swatinem/rust-cache@v2`.
4. Add `--bundles deb,appimage` to `npm run tauri build`.
5. Upgrade to `actions/upload-artifact@v4` across Linux and Windows workflows.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
The Linux CI/CD build stage currently takes ~19 minutes (over twice as long as the Windows build at ~9.5 minutes).
Root Causes
build-linux.ymlruns in an ephemeral container where ~40 Ubuntu development packages are downloaded and installed on every run viaapt-getwithout caching (~3.5 minutes).NO_STRIP: "true"prevents stripping debug symbols, bloating the AppDir to 660MB during SquashFS compression and ELF dependency traversal over 100+ ArgyllCMS sidecar binaries.Swatinem/rust-cache@v2lacksworkspaces: "src-tauri -> target", defaulting to root where noCargo.lockexists..rpmbundles that are not uploaded.actions/upload-artifact@v3takes ~2.5 minutes to upload packages.Proposed Solutions
--no-install-recommendswith-qq.NO_STRIP: "true"fromjobs.build-linux.env.workspaces: "src-tauri -> target"toSwatinem/rust-cache@v2.--bundles deb,appimagetonpm run tauri build.actions/upload-artifact@v4across Linux and Windows workflows.