chore: add release infrastructure and packaging support
Rust / build (macos-latest, stable) (push) Canceled after 0s
Rust / build (ubuntu-latest, stable) (push) Canceled after 0s
Rust / build (windows-latest, stable) (push) Canceled after 0s

Add GitHub Actions workflows for CI and release builds, packaging
scripts for Windows, macOS, Linux, and Flatpak/Snap distribution,
application icons, desktop files, and release metadata resources.
This commit is contained in:
2026-09-07 12:44:35 +07:00
parent 02a0134164
commit 1af4c66566
31 changed files with 1508 additions and 2 deletions
+35
View File
@@ -0,0 +1,35 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/../.."
shopt -s extglob
# Get system architecture
ARCH=$(uname -m)
case "$ARCH" in
x86_64) ARCH_SUFFIX="x86_64" ;;
aarch64) ARCH_SUFFIX="aarch64" ;;
*) echo "Unsupported architecture: $ARCH"; exit 1 ;;
esac
archive_match="signed(-[a-zA-Z0-9]+)?-linux-${ARCH_SUFFIX}\.tar\.gz"
archive=$(ls "target/release" | grep -E ${archive_match})
export ARCHIVE="$archive"
export APP_ID="su.reya.signed"
export APP_NAME="Signed"
export BRANDING_LIGHT="#C6FF4D"
export BRANDING_DARK="#C6FF4D"
export ICON_FILE="icon"
export CHANNEL="stable"
# Generate manifest
envsubst < "desktop/resources/flatpak/manifest-template.json" > "$APP_ID.json"
# Build Flatpak
flatpak-builder --user --install --force-clean build "$APP_ID.json"
# Create bundle with architecture suffix
OUTPUT_FILE="target/release/${APP_ID}_${ARCH_SUFFIX}.flatpak"
flatpak build-bundle ~/.local/share/flatpak/repo "$OUTPUT_FILE" "$APP_ID"
echo "Created '$OUTPUT_FILE'"
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
arch=$(arch)
fd_version=24.08
flatpak install -y --user org.freedesktop.Platform/${arch}/${fd_version}
flatpak install -y --user org.freedesktop.Sdk/${arch}/${fd_version}
flatpak install -y --user org.freedesktop.Sdk.Extension.rust-stable/${arch}/${fd_version}