mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-11 08:21:04 +00:00
- Builds and packages ArtCraft Studio across x86_64, aarch64, and riscv64 targets using storytold/craft-common-actions. - Produces DEB, RPM, AppImage, tarball, Arch package, and Flatpak bundle/OCI artifacts. - Cross-compiles riscv64 DEB and RPM via install-riscv64-cross and BoringSSL CMake config. - Fixes SQLx query offline fallback in sqlite_tasks build.rs when no live database exists. - Adds shared Packaging Lint workflow, fixing actionlint and shellcheck warnings across workflows. - Adds shared FreeBSD CI workflow tracking @main.
37 lines
2.5 KiB
Markdown
37 lines
2.5 KiB
Markdown
# ArtCraft Studio Linux releases
|
|
|
|
The Linux workflow builds every package before the release job signs and uploads them to the
|
|
existing `artcraft-v<version>` draft, retaining Windows and macOS assets. The version comes from
|
|
`crates/desktop/artcraft/tauri.conf.json`.
|
|
|
|
| Architecture | Outputs | Builder |
|
|
|--------------|---------------------------------------------------------------|----------------------------|
|
|
| x86_64 | AppImage, DEB, RPM, tar.gz, Arch pkg.tar.zst, Flatpak bundle, OCI | Ubuntu 22.04 native |
|
|
| aarch64 | AppImage, DEB, RPM, tar.gz, Arch pkg.tar.zst, Flatpak bundle, OCI | Ubuntu 22.04 ARM native |
|
|
| riscv64 | DEB, RPM, tar.gz | Ubuntu 24.04 cross compiler |
|
|
|
|
Native AppImages also include zsync delta-update metadata.
|
|
|
|
Flatpak uses native Ubuntu 24.04 runners and GNOME 51 for GTK3/WebKitGTK 4.1. Its build checks
|
|
for missing ELF dependencies inside the sandbox. RISC-V packages require Ubuntu 24.04-era
|
|
libraries; x86_64 and ARM64 use Ubuntu 22.04 as their build baseline. The suite does not publish
|
|
RISC-V AppImages, Arch packages or Flatpaks.
|
|
|
|
`package.sh <architecture> <rust-target>` normalizes Tauri's DEB/RPM/AppImage filenames and
|
|
extracts the DEB's `/usr` tree into the suite's `bin/` and `share/` tarball layout. Shared Craft
|
|
Arch packaging consumes that tarball, with WebKitGTK, GTK3 and OpenSSL dependencies added.
|
|
`flatpak.sh` consumes the same tarball, builds the bundle, and exports the OCI layout.
|
|
|
|
Release runs import `LINUX_SIGNING_KEY` for Flatpak commit signatures and OCI publishing. The final shared
|
|
`draft-release` action signs RPMs, DEBs, Arch packages, AppImages, tarballs, OCI manifests and
|
|
checksums. Only a stable version on `release` or `artcraft-release` moves the OCI stable architecture tags.
|
|
Like the macOS and Windows release workflows, Linux release packaging runs on release branches
|
|
(`release`, `artcraft-release`, `artcraft-linux`) and workflow dispatch rather than on pull requests.
|
|
|
|
APT, RPM and pacman repositories are generated by `artcraft-services` from the release assets
|
|
and checksums. Its release catalog must be updated only after the signed release is published.
|
|
Installing a DEB manually is separate from publishing that DEB in the website's APT repository.
|
|
|
|
A successful build proves artifact production and metadata/dependency checks. It does not replace
|
|
installation and interactive testing on physical RISC-V, ARM64 and x86_64 desktops.
|