Skip to main content

max / audiofiles

Add deploy documentation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author: Max J. <87768334+MaxJMath@users.noreply.github.com> · 2026-05-10 17:57 UTC
Commit: 139ef9b88397ce006504da2a52ba0c8dab56569f
Parent: b61d860
1 file changed, +72 insertions, -0 deletions
@@ -0,0 +1,72 @@
1 + # audiofiles — Build & Deploy
2 +
3 + See `_meta/docs/deploy.md` for shared infrastructure (machines, git remotes, collection layout, shared deps).
4 +
5 + ## Artifacts
6 +
7 + | Platform | Artifact | Machine |
8 + |----------|----------|---------|
9 + | macOS aarch64 | .dmg | local |
10 + | Linux aarch64 | Binary | astra |
11 + | Linux x86_64 | Binary | pop-os |
12 + | Windows x86_64 | standalone .exe | windows-x86 |
13 +
14 + ## Build Commands
15 +
16 + ```bash
17 + # macOS (local):
18 + cd ~/Code/Apps/audiofiles && cargo build --release -p audiofiles-app
19 + cp dist/AudioFiles_*_arm64.dmg ~/Dist/audiofiles/macos/
20 +
21 + # Linux aarch64 (astra):
22 + ssh astra "source ~/.cargo/env && cd ~/Code/Apps/audiofiles && git pull && cargo build --release -p audiofiles-app"
23 + scp astra:~/Code/Apps/audiofiles/target/release/audiofiles-app ~/Dist/audiofiles/linux-aarch64/audiofiles_aarch64
24 +
25 + # Linux x86_64 (pop-os):
26 + ssh pop-os "source ~/.cargo/env && cd ~/Code/Apps/audiofiles && git pull && cargo build --release -p audiofiles-app"
27 + scp pop-os:~/Code/Apps/audiofiles/target/release/audiofiles-app ~/Dist/audiofiles/linux-x86_64/audiofiles_x86_64
28 +
29 + # Windows (windows-x86):
30 + ssh me@windows-x86 "cd C:\Users\me\Code\Apps\audiofiles; git pull; cargo build --release -p audiofiles-app"
31 + scp me@windows-x86:"C:/Users/me/Code/Apps/audiofiles/target/release/audiofiles-app.exe" ~/Dist/audiofiles/windows/
32 + ```
33 +
34 + ## Project-Specific Notes
35 +
36 + - Native egui app (not Tauri). No Tauri CLI, Node.js, or .msi installer needed.
37 + - No OTA updater — users download new versions from the MNW storefront.
38 + - License key activation at first launch via MNW API.
39 + - Version is in workspace root `Cargo.toml` under `[workspace.package]`.
40 + - AppImage packaging planned but not yet scripted. Currently ships as raw binary on Linux.
41 + - Requires `libxdo-dev` on Linux for keyboard shortcut handling.
42 +
43 + ## Troubleshooting
44 +
45 + ### Linker error: `libxdo` not found (Linux)
46 +
47 + AF uses `libxdo` for global hotkey support. Install on both Linux machines:
48 +
49 + ```bash
50 + sudo apt install libxdo-dev
51 + ```
52 +
53 + ### Linker error: `libasound` not found (Linux)
54 +
55 + AF uses ALSA for audio playback. Install:
56 +
57 + ```bash
58 + sudo apt install libasound2-dev
59 + ```
60 +
61 + ### Windows: `Win32_Storage_FileSystem` feature missing
62 +
63 + If the build fails with unresolved imports from the `windows` crate related to file system APIs, check that `Cargo.toml` enables the `Win32_Storage_FileSystem` feature on the `windows` dependency. This is a compile-time feature gate, not a missing system library.
64 +
65 + ### Windows: sccache interference
66 +
67 + Same as other projects — unset `RUSTC_WRAPPER` if sccache crashes:
68 +
69 + ```powershell
70 + $env:RUSTC_WRAPPER = ''
71 + cargo build --release -p audiofiles-app
72 + ```