mirror of
https://github.com/arabianq/pipewire-soundpad.git
synced 2026-07-26 13:56:57 +00:00
* ci: refactor and optimize GitHub Actions workflows\n\n- **Consolidate build processes (`build.yml`, `release.yml`)**: Merged the standalone `.zip` (linux-build) and `.deb` (deb-build) jobs into a single matrix job (`build-and-package` / `build-release`).
This prevents compiling the Rust binaries twice per architecture, effectively cutting the build time in half and saving CI runner minutes.
- **Parallelize and fix Flatpak deployment (`flatter.yml`)**:
- Converted `x86_64` and `aarch64` flatpak jobs to run concurrently via a matrix strategy, removing the sequential bottleneck.
- Resolved an issue where GitHub Pages would only host the `aarch64` repository. Introduced a new `prepare-repo` job that downloads the `.flatpak` bundles from both architectures, merges them into a
single OSTree repository locally, signs it with GPG, and deploys the unified multi-arch repository to GitHub Pages.
- Configured `flatter.yml` to automatically attach the offline `.flatpak` bundles to GitHub Releases when triggered by a release event.
- **Toolchain and cleanup**: Switched hardcoded Rust toolchain version (`1.96.0`) to `stable` across all workflows to prevent manual bumps in the future. Simplified bash scripts and removed redundant
dependency installation steps.
* Extract Copr trigger into a separate job: Copr build now starts immediately in parallel with GitHub Actions builds, eliminating unnecessary waiting time.
* use ubuntu 22.04 to build binaries instead of ubuntu-latest
* fix cache poisoning
* another attemp to fix cache poisoning
* disable cache in setup-rust-toolchain
* use ubuntu-latest
* optimize dependencies in debug profile
* remove --release flag from build.yml and CARGO env vars
* fix flatter names collision
* better flatter key changing
* auto formatting
* add auto updating cargo-sources for dependabot pull requests
* add groups to dependabot.yml
* add github-actions to dependabot
* add ppa deb repo
* add concurrency: gh-pages-deploy
91 lines
2.0 KiB
TOML
91 lines
2.0 KiB
TOML
[workspace]
|
|
members = [
|
|
"pwsp-lib",
|
|
"pwsp-daemon",
|
|
"pwsp-cli",
|
|
"pwsp-gui"
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "1.12.2"
|
|
edition = "2024"
|
|
authors = ["arabian"]
|
|
homepage = "https://pwsp.arabianq.ru"
|
|
repository = "https://github.com/arabianq/pipewire-soundpad"
|
|
license = "MIT"
|
|
description = "PWSP lets you play audio files through your microphone. Has both CLI and GUI clients."
|
|
keywords = ["soundpad", "pipewire", "linux", "cli", "gui"]
|
|
|
|
[workspace.dependencies]
|
|
pwsp-lib = { path = "pwsp-lib" }
|
|
pwsp-daemon = { path = "pwsp-daemon" }
|
|
pwsp-cli = { path = "pwsp-cli" }
|
|
pwsp-gui = { path = "pwsp-gui" }
|
|
|
|
tokio = { version = "1.52.3", features = ["full"] }
|
|
async-trait = "0.1.89"
|
|
|
|
serde = { version = "1.0.228", features = ["derive"] }
|
|
serde_json = "1.0.149"
|
|
|
|
clap = { version = "4.6.1", default-features = false, features = [
|
|
"std",
|
|
"suggestions",
|
|
"help",
|
|
"usage",
|
|
"error-context",
|
|
"derive",
|
|
] }
|
|
|
|
dirs = "6.0.0"
|
|
itertools = "0.15.0"
|
|
evdev = { version = "0.13.2", features = ["tokio"] }
|
|
rfd = { version = "0.17.2", default-features = false, features = [
|
|
"xdg-portal",
|
|
] }
|
|
opener = { version = "0.8.4", features = ["reveal"] }
|
|
system-fonts = "0.1.1"
|
|
anyhow = "1.0.102"
|
|
rustix = { version = "1.1.4", features = ["process"] }
|
|
|
|
rust-i18n = "4.0.0"
|
|
sys-locale = "0.3.2"
|
|
|
|
rodio = { git = "https://github.com/arabianq/rodio.git", rev = "4746803c2e5f67004264ac946708d47a9faf510c", default-features = false, features = [
|
|
"symphonia-all",
|
|
"symphonia-libopus",
|
|
"playback",
|
|
] }
|
|
pipewire = "0.10.0"
|
|
|
|
egui = { version = "0.35.0", default-features = false, features = [
|
|
"default_fonts",
|
|
"rayon",
|
|
] }
|
|
eframe = { version = "0.35.0", default-features = false, features = [
|
|
"default_fonts",
|
|
"glow",
|
|
"x11",
|
|
"wayland",
|
|
] }
|
|
egui_extras = "0.35.0"
|
|
egui_material_icons = "0.7.0"
|
|
egui_dnd = "0.16.0"
|
|
|
|
reqwest = "0.13.4"
|
|
percent-encoding = "2.3.2"
|
|
|
|
[profile.dev]
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 3
|
|
debug = false
|
|
|
|
[profile.release]
|
|
strip = true
|
|
lto = true
|
|
codegen-units = 1
|
|
opt-level = "z"
|
|
panic = "abort"
|