diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4b019e4..72a2fd1 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -40,6 +40,7 @@ jobs: - name: install app dependencies and build it run: | npm ci + npm run mock-bin npm run build - uses: tauri-apps/tauri-action@v0 diff --git a/package.json b/package.json index a5c344b..75354ec 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "package": "node ./scripts/rename-binaries.js", "update-bin": "node ./scripts/update-binaries.js && npm run package", "lint": "npx prettier --check .", - "format": "npx prettier --write ." + "format": "npx prettier --write .", + "mock-bin": "node ./scripts/dummy-binaries.js" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", diff --git a/scripts/dummy-binaries.js b/scripts/dummy-binaries.js new file mode 100644 index 0000000..1bf4ef0 --- /dev/null +++ b/scripts/dummy-binaries.js @@ -0,0 +1,22 @@ +/** + * Used for builds / CI to basically mock the install process + * + * If Tauri can't find the binaries, it will fail (maybe there is a better way to ignore this though) + */ + +import { existsSync, rmdirSync, mkdirSync, writeFileSync } from "fs"; + +// Clear our current binaries +if (existsSync("./src-tauri/bin")) { + rmdirSync("./src-tauri/bin", { recursive: true, force: true }); +} +// Recreate the directory +mkdirSync("./src-tauri/bin"); +// Create empty executables +let extension = ""; +if (process.platform === "win32") { + extension = ".exe"; +} +writeFileSync(`./src-tauri/bin/extractor${extension}`, "dummy"); +writeFileSync(`./src-tauri/bin/gk${extension}`, "dummy"); +writeFileSync(`./src-tauri/bin/goalc${extension}`, "dummy");