mirror of
https://github.com/zhom/donutbrowser.git
synced 2026-06-04 14:18:00 +02:00
build: properly handle daemon build
This commit is contained in:
@@ -63,8 +63,39 @@ jobs:
|
||||
|
||||
- name: Install dependencies from lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Install rust dependencies
|
||||
|
||||
- name: Build frontend
|
||||
if: matrix.language == 'rust'
|
||||
run: pnpm next build
|
||||
|
||||
- name: Get host target
|
||||
if: matrix.language == 'rust'
|
||||
id: host_target
|
||||
shell: bash
|
||||
run: |
|
||||
HOST_TARGET=$(rustc -vV | sed -n 's|host: ||p')
|
||||
echo "target=${HOST_TARGET}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build sidecar binaries
|
||||
if: matrix.language == 'rust'
|
||||
shell: bash
|
||||
working-directory: ./src-tauri
|
||||
run: |
|
||||
cargo build --bin donut-proxy --release
|
||||
cargo build --bin donut-daemon --release
|
||||
|
||||
- name: Copy sidecar binaries to Tauri binaries
|
||||
if: matrix.language == 'rust'
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p src-tauri/binaries
|
||||
HOST_TARGET="${{ steps.host_target.outputs.target }}"
|
||||
cp src-tauri/target/release/donut-proxy src-tauri/binaries/donut-proxy-${HOST_TARGET}
|
||||
cp src-tauri/target/release/donut-daemon src-tauri/binaries/donut-daemon-${HOST_TARGET}
|
||||
chmod +x src-tauri/binaries/donut-proxy-${HOST_TARGET}
|
||||
chmod +x src-tauri/binaries/donut-daemon-${HOST_TARGET}
|
||||
|
||||
- name: Build rust dependencies
|
||||
if: matrix.language == 'rust'
|
||||
working-directory: ./src-tauri
|
||||
run: |
|
||||
|
||||
@@ -82,21 +82,26 @@ jobs:
|
||||
echo "target=${HOST_TARGET}" >> $GITHUB_OUTPUT
|
||||
echo "Host target: ${HOST_TARGET}"
|
||||
|
||||
- name: Build donut-proxy sidecar
|
||||
- name: Build sidecar binaries
|
||||
shell: bash
|
||||
working-directory: ./src-tauri
|
||||
run: cargo build --bin donut-proxy
|
||||
run: |
|
||||
cargo build --bin donut-proxy --release
|
||||
cargo build --bin donut-daemon --release
|
||||
|
||||
- name: Copy donut-proxy binary to Tauri binaries
|
||||
- name: Copy sidecar binaries to Tauri binaries
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p src-tauri/binaries
|
||||
HOST_TARGET="${{ steps.host_target.outputs.target }}"
|
||||
if [[ "$HOST_TARGET" == *"windows"* ]]; then
|
||||
cp src-tauri/target/debug/donut-proxy.exe src-tauri/binaries/donut-proxy-${HOST_TARGET}.exe
|
||||
cp src-tauri/target/release/donut-proxy.exe src-tauri/binaries/donut-proxy-${HOST_TARGET}.exe
|
||||
cp src-tauri/target/release/donut-daemon.exe src-tauri/binaries/donut-daemon-${HOST_TARGET}.exe
|
||||
else
|
||||
cp src-tauri/target/debug/donut-proxy src-tauri/binaries/donut-proxy-${HOST_TARGET}
|
||||
cp src-tauri/target/release/donut-proxy src-tauri/binaries/donut-proxy-${HOST_TARGET}
|
||||
cp src-tauri/target/release/donut-daemon src-tauri/binaries/donut-daemon-${HOST_TARGET}
|
||||
chmod +x src-tauri/binaries/donut-proxy-${HOST_TARGET}
|
||||
chmod +x src-tauri/binaries/donut-daemon-${HOST_TARGET}
|
||||
fi
|
||||
|
||||
- name: Run rustfmt check
|
||||
|
||||
+11
-5
@@ -75,14 +75,20 @@ fn external_binaries_exist() -> bool {
|
||||
|
||||
let binaries_dir = PathBuf::from(&manifest_dir).join("binaries");
|
||||
|
||||
// Check for required external binaries
|
||||
let donut_proxy_name = if target.contains("windows") {
|
||||
format!("donut-proxy-{}.exe", target)
|
||||
// Check for all required external binaries (must match tauri.conf.json externalBin)
|
||||
let (donut_proxy_name, donut_daemon_name) = if target.contains("windows") {
|
||||
(
|
||||
format!("donut-proxy-{}.exe", target),
|
||||
format!("donut-daemon-{}.exe", target),
|
||||
)
|
||||
} else {
|
||||
format!("donut-proxy-{}", target)
|
||||
(
|
||||
format!("donut-proxy-{}", target),
|
||||
format!("donut-daemon-{}", target),
|
||||
)
|
||||
};
|
||||
|
||||
binaries_dir.join(&donut_proxy_name).exists()
|
||||
binaries_dir.join(&donut_proxy_name).exists() && binaries_dir.join(&donut_daemon_name).exists()
|
||||
}
|
||||
|
||||
fn ensure_dist_folder_exists() {
|
||||
|
||||
Reference in New Issue
Block a user