fix: update package bundle
This commit is contained in:
@@ -22,7 +22,7 @@ on:
|
||||
description: 'If true, builds both .deb and .appimage but disables auto-updater'
|
||||
jobs:
|
||||
build-linux-x64-external:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Getting the repo
|
||||
uses: actions/checkout@v3
|
||||
@@ -116,6 +116,7 @@ jobs:
|
||||
chmod +x .github/scripts/rename-tauri-app.sh
|
||||
.github/scripts/rename-tauri-app.sh ./src-tauri/tauri.conf.json ${{ inputs.channel }}
|
||||
ctoml ./src-tauri/Cargo.toml package.name "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml package.default-run "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml dependencies.tauri.features[] "devtools"
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json ${{ inputs.channel }}
|
||||
|
||||
@@ -143,6 +143,7 @@ jobs:
|
||||
|
||||
# Update Cargo.toml
|
||||
ctoml ./src-tauri/Cargo.toml package.name "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml package.default-run "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml dependencies.tauri.features[] "devtools"
|
||||
echo "------------------"
|
||||
cat ./src-tauri/Cargo.toml
|
||||
@@ -193,7 +194,7 @@ jobs:
|
||||
|
||||
echo "DEB_SIG=$DEB_SIG" >> $GITHUB_OUTPUT
|
||||
echo "DEB_FILE_NAME=$DEB_FILE_NAME" >> $GITHUB_OUTPUT
|
||||
|
||||
|
||||
- name: upload to aws s3 if public provider is aws
|
||||
if: inputs.public_provider == 'aws-s3'
|
||||
run: |
|
||||
@@ -206,4 +207,4 @@ jobs:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.DELTA_AWS_SECRET_ACCESS_KEY }}
|
||||
AWS_DEFAULT_REGION: ${{ secrets.DELTA_AWS_REGION }}
|
||||
AWS_EC2_METADATA_DISABLED: 'true'
|
||||
AWS_EC2_METADATA_DISABLED: 'true'
|
||||
|
||||
@@ -164,6 +164,7 @@ jobs:
|
||||
|
||||
# Update Cargo.toml
|
||||
ctoml ./src-tauri/Cargo.toml package.name "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml package.default-run "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml dependencies.tauri.features[] "devtools"
|
||||
echo "------------------"
|
||||
cat ./src-tauri/Cargo.toml
|
||||
|
||||
@@ -91,6 +91,7 @@ jobs:
|
||||
chmod +x .github/scripts/rename-tauri-app.sh
|
||||
.github/scripts/rename-tauri-app.sh ./src-tauri/tauri.conf.json ${{ inputs.channel }}
|
||||
ctoml ./src-tauri/Cargo.toml package.name "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml package.default-run "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml dependencies.tauri.features[] "devtools"
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json ${{ inputs.channel }}
|
||||
|
||||
@@ -152,6 +152,7 @@ jobs:
|
||||
|
||||
# Update Cargo.toml
|
||||
ctoml ./src-tauri/Cargo.toml package.name "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml package.default-run "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml dependencies.tauri.features[] "devtools"
|
||||
echo "------------------"
|
||||
cat ./src-tauri/Cargo.toml
|
||||
|
||||
@@ -60,7 +60,7 @@ jobs:
|
||||
|
||||
jq --arg version "${{ inputs.new_version }}" '.version = $version' ./src-tauri/plugins/tauri-plugin-hardware/package.json > /tmp/package.json
|
||||
mv /tmp/package.json ./src-tauri/plugins/tauri-plugin-hardware/package.json
|
||||
|
||||
|
||||
echo "---------./src-tauri/plugins/tauri-plugin-hardware/package.json---------"
|
||||
cat ./src-tauri/plugins/tauri-plugin-hardware/package.json
|
||||
|
||||
@@ -73,7 +73,7 @@ jobs:
|
||||
ctoml ./src-tauri/plugins/tauri-plugin-hardware/Cargo.toml package.version "${{ inputs.new_version }}"
|
||||
echo "---------./src-tauri/plugins/tauri-plugin-hardware/Cargo.toml---------"
|
||||
cat ./src-tauri/plugins/tauri-plugin-hardware/Cargo.toml
|
||||
|
||||
|
||||
ctoml ./src-tauri/plugins/tauri-plugin-llamacpp/Cargo.toml package.version "${{ inputs.new_version }}"
|
||||
echo "---------./src-tauri/plugins/tauri-plugin-llamacpp/Cargo.toml---------"
|
||||
cat ./src-tauri/plugins/tauri-plugin-llamacpp/Cargo.toml
|
||||
@@ -119,7 +119,7 @@ jobs:
|
||||
jq '.plugins.updater.endpoints = ["https://delta.jan.ai/${{ inputs.channel }}/latest.json"]' ./src-tauri/tauri.conf.json > /tmp/tauri.conf.json
|
||||
fi
|
||||
mv /tmp/tauri.conf.json ./src-tauri/tauri.conf.json
|
||||
|
||||
|
||||
# Update product name
|
||||
jq --arg name "Jan-${{ inputs.channel }}" '.productName = $name' ./src-tauri/tauri.conf.json > /tmp/tauri.conf.json
|
||||
mv /tmp/tauri.conf.json ./src-tauri/tauri.conf.json
|
||||
@@ -132,6 +132,7 @@ jobs:
|
||||
|
||||
# Update Cargo.toml
|
||||
ctoml ./src-tauri/Cargo.toml package.name "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml package.default-run "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml dependencies.tauri.features[] "devtools"
|
||||
echo "------------------"
|
||||
cat ./src-tauri/Cargo.toml
|
||||
@@ -165,4 +166,4 @@ jobs:
|
||||
with:
|
||||
name: jan-windows-${{ inputs.new_version }}
|
||||
path: |
|
||||
./src-tauri/target/release/bundle/nsis/*.exe
|
||||
./src-tauri/target/release/bundle/nsis/*.exe
|
||||
|
||||
@@ -116,7 +116,7 @@ jobs:
|
||||
|
||||
jq --arg version "${{ inputs.new_version }}" '.version = $version' ./src-tauri/plugins/tauri-plugin-hardware/package.json > /tmp/package.json
|
||||
mv /tmp/package.json ./src-tauri/plugins/tauri-plugin-hardware/package.json
|
||||
|
||||
|
||||
echo "---------./src-tauri/plugins/tauri-plugin-hardware/package.json---------"
|
||||
cat ./src-tauri/plugins/tauri-plugin-hardware/package.json
|
||||
|
||||
@@ -129,7 +129,7 @@ jobs:
|
||||
ctoml ./src-tauri/plugins/tauri-plugin-hardware/Cargo.toml package.version "${{ inputs.new_version }}"
|
||||
echo "---------./src-tauri/plugins/tauri-plugin-hardware/Cargo.toml---------"
|
||||
cat ./src-tauri/plugins/tauri-plugin-hardware/Cargo.toml
|
||||
|
||||
|
||||
ctoml ./src-tauri/plugins/tauri-plugin-llamacpp/Cargo.toml package.version "${{ inputs.new_version }}"
|
||||
echo "---------./src-tauri/plugins/tauri-plugin-llamacpp/Cargo.toml---------"
|
||||
cat ./src-tauri/plugins/tauri-plugin-llamacpp/Cargo.toml
|
||||
@@ -167,7 +167,7 @@ jobs:
|
||||
generate_build_version ${{ inputs.new_version }}
|
||||
sed -i "s/jan_version/$new_base_version/g" ./src-tauri/tauri.bundle.windows.nsis.template
|
||||
sed -i "s/jan_build/$new_build_version/g" ./src-tauri/tauri.bundle.windows.nsis.template
|
||||
|
||||
|
||||
echo "---------tauri.windows.conf.json---------"
|
||||
cat ./src-tauri/tauri.windows.conf.json
|
||||
|
||||
@@ -183,7 +183,7 @@ jobs:
|
||||
jq '.plugins.updater.endpoints = ["https://delta.jan.ai/${{ inputs.channel }}/latest.json"]' ./src-tauri/tauri.conf.json > /tmp/tauri.conf.json
|
||||
fi
|
||||
mv /tmp/tauri.conf.json ./src-tauri/tauri.conf.json
|
||||
|
||||
|
||||
# Update product name
|
||||
jq --arg name "Jan-${{ inputs.channel }}" '.productName = $name' ./src-tauri/tauri.conf.json > /tmp/tauri.conf.json
|
||||
mv /tmp/tauri.conf.json ./src-tauri/tauri.conf.json
|
||||
@@ -196,6 +196,7 @@ jobs:
|
||||
|
||||
# Update Cargo.toml
|
||||
ctoml ./src-tauri/Cargo.toml package.name "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml package.default-run "Jan-${{ inputs.channel }}"
|
||||
ctoml ./src-tauri/Cargo.toml dependencies.tauri.features[] "devtools"
|
||||
echo "------------------"
|
||||
cat ./src-tauri/Cargo.toml
|
||||
@@ -256,7 +257,7 @@ jobs:
|
||||
name: jan-windows-msi-${{ inputs.new_version }}
|
||||
path: |
|
||||
./src-tauri/target/release/bundle/msi/*.msi
|
||||
|
||||
|
||||
- name: Upload Portable Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
@@ -278,7 +279,7 @@ jobs:
|
||||
else
|
||||
FILE_NAME=Jan_${{ inputs.new_version }}_x64-setup.exe
|
||||
WIN_SIG=$(cat Jan_${{ inputs.new_version }}_x64-setup.exe.sig)
|
||||
|
||||
|
||||
MSI_FILE="Jan_${{ inputs.new_version }}_x64_en-US.msi"
|
||||
PORTABLE_FILE_NAME="Jan_${{ inputs.new_version }}_x64-portable.exe"
|
||||
fi
|
||||
@@ -337,4 +338,4 @@ jobs:
|
||||
upload_url: ${{ inputs.upload_url }}
|
||||
asset_path: ./src-tauri/target/release/${{ steps.metadata.outputs.PORTABLE_FILE_NAME }}
|
||||
asset_name: ${{ steps.metadata.outputs.PORTABLE_FILE_NAME }}
|
||||
asset_content_type: application/octet-stream
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
26
Makefile
26
Makefile
@@ -169,28 +169,28 @@ endif
|
||||
# Build jan CLI (release, platform-aware) → src-tauri/resources/bin/jan[.exe]
|
||||
build-cli:
|
||||
ifeq ($(shell uname -s),Darwin)
|
||||
cd src-tauri && cargo build --release --features cli --bin jan --target aarch64-apple-darwin
|
||||
cd src-tauri && cargo build --release --features cli --bin jan --target x86_64-apple-darwin
|
||||
cd src-tauri && cargo build --release --features cli --bin jan-cli --target aarch64-apple-darwin
|
||||
cd src-tauri && cargo build --release --features cli --bin jan-cli --target x86_64-apple-darwin
|
||||
lipo -create \
|
||||
src-tauri/target/aarch64-apple-darwin/release/jan \
|
||||
src-tauri/target/x86_64-apple-darwin/release/jan \
|
||||
-output src-tauri/resources/bin/jan
|
||||
chmod +x src-tauri/resources/bin/jan
|
||||
src-tauri/target/aarch64-apple-darwin/release/jan-cli \
|
||||
src-tauri/target/x86_64-apple-darwin/release/jan-cli \
|
||||
-output src-tauri/resources/bin/jan-cli
|
||||
chmod +x src-tauri/resources/bin/jan-cli
|
||||
mkdir -p src-tauri/target/universal-apple-darwin/release
|
||||
cp src-tauri/resources/bin/jan src-tauri/target/universal-apple-darwin/release/jan
|
||||
cp src-tauri/resources/bin/jan-cli src-tauri/target/universal-apple-darwin/release/jan-cli
|
||||
else ifeq ($(OS),Windows_NT)
|
||||
cd src-tauri && cargo build --release --features cli --bin jan
|
||||
cp src-tauri/target/release/jan.exe src-tauri/resources/bin/jan.exe
|
||||
cd src-tauri && cargo build --release --features cli --bin jan-cli
|
||||
cp src-tauri/target/release/jan-cli.exe src-tauri/resources/bin/jan-cli.exe
|
||||
else
|
||||
cd src-tauri && cargo build --release --features cli --bin jan
|
||||
cp src-tauri/target/release/jan src-tauri/resources/bin/jan
|
||||
cd src-tauri && cargo build --release --features cli --bin jan-cli
|
||||
cp src-tauri/target/release/jan-cli src-tauri/resources/bin/jan-cli
|
||||
endif
|
||||
|
||||
# Debug build for local dev (faster, native arch only)
|
||||
build-cli-dev:
|
||||
mkdir -p src-tauri/resources/bin
|
||||
cd src-tauri && cargo build --features cli --bin jan
|
||||
install -m755 src-tauri/target/debug/jan src-tauri/resources/bin/jan
|
||||
cd src-tauri && cargo build --features cli --bin jan-cli
|
||||
install -m755 src-tauri/target/debug/jan-cli src-tauri/resources/bin/jan-cli
|
||||
|
||||
# Build
|
||||
build: install-and-build install-rust-targets
|
||||
|
||||
@@ -8,21 +8,17 @@ repository = "https://github.com/janhq/jan"
|
||||
edition = "2021"
|
||||
rust-version = "1.77.2"
|
||||
resolver = "2"
|
||||
default-run = "jan-app"
|
||||
default-run = "Jan"
|
||||
|
||||
[lib]
|
||||
name = "app_lib"
|
||||
crate-type = ["staticlib", "cdylib", "rlib"]
|
||||
|
||||
[[bin]]
|
||||
name = "jan"
|
||||
path = "src/bin/jan.rs"
|
||||
name = "jan-cli"
|
||||
path = "src/bin/jan-cli.rs"
|
||||
required-features = ["cli"]
|
||||
|
||||
[[bin]]
|
||||
name = "jan-app"
|
||||
path = "src/main.rs"
|
||||
|
||||
[features]
|
||||
default = [
|
||||
"tauri/wry",
|
||||
@@ -60,7 +56,7 @@ test-tauri = [
|
||||
"tauri/test",
|
||||
"desktop",
|
||||
]
|
||||
cli = ["dep:clap", "dep:env_logger", "dep:dialoguer", "dep:indicatif", "dep:console"]
|
||||
cli = ["dep:env_logger", "dep:dialoguer", "dep:indicatif", "dep:console"]
|
||||
|
||||
[build-dependencies]
|
||||
tauri-build = { version = "2.0.2", features = [] }
|
||||
@@ -125,12 +121,11 @@ hostname = "0.4"
|
||||
base64 = "0.22"
|
||||
tokio-tungstenite = { version = "0.24", features = ["native-tls"] }
|
||||
glob = "0.3"
|
||||
clap = { version = "4", features = ["derive"], optional = true }
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
dialoguer = { version = "0.11", optional = true }
|
||||
env_logger = { version = "0.11", optional = true }
|
||||
indicatif = { version = "0.17", optional = true }
|
||||
console = { version = "0.15", optional = true }
|
||||
reqwest = { version = "0.12", features = ["json", "stream"], optional = true }
|
||||
bollard = { version = "0.18", optional = true }
|
||||
|
||||
[dependencies.tauri]
|
||||
|
||||
@@ -358,7 +358,8 @@ pub fn check_jan_cli_installed() -> CliInstallStatus {
|
||||
/// Install order (Unix): `/usr/local/bin` (writable probe), then `~/.local/bin`.
|
||||
/// Windows: `%LOCALAPPDATA%\Programs\Jan\`
|
||||
pub fn install_jan_cli_sync<R: Runtime>(app_handle: &AppHandle<R>) -> Result<CliInstallStatus, String> {
|
||||
let bin_name = if cfg!(windows) { "jan.exe" } else { "jan" };
|
||||
let bin_name = if cfg!(windows) { "jan-cli.exe" } else { "jan-cli" };
|
||||
let dest_bin_name = if cfg!(windows) { "jan.exe" } else { "jan" };
|
||||
let bundled = app_handle
|
||||
.path()
|
||||
.resource_dir()
|
||||
@@ -372,7 +373,7 @@ pub fn install_jan_cli_sync<R: Runtime>(app_handle: &AppHandle<R>) -> Result<Cli
|
||||
|
||||
let install_dir = jan_cli_install_dir()?;
|
||||
std::fs::create_dir_all(&install_dir).map_err(|e| e.to_string())?;
|
||||
let dest = install_dir.join(bin_name);
|
||||
let dest = install_dir.join(dest_bin_name);
|
||||
|
||||
std::fs::copy(&bundled, &dest)
|
||||
.map_err(|e| format!("Failed to copy jan to {}: {}", dest.display(), e))?;
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"bundle": {
|
||||
"targets": ["deb", "appimage"],
|
||||
"resources": ["resources/pre-install/**/*", "resources/LICENSE", "resources/bin/jan"],
|
||||
"resources": ["resources/pre-install/**/*", "resources/LICENSE", "resources/bin/jan-cli"],
|
||||
"externalBin": ["resources/bin/uv"],
|
||||
"linux": {
|
||||
"appimage": {
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"bundle": {
|
||||
"targets": ["app", "dmg"],
|
||||
"resources": ["resources/pre-install/**/*", "resources/LICENSE", "resources/bin/mlx-server", "resources/bin/mlx-swift_Cmlx.bundle", "resources/bin/jan"],
|
||||
"resources": ["resources/pre-install/**/*", "resources/LICENSE", "resources/bin/mlx-server", "resources/bin/mlx-swift_Cmlx.bundle", "resources/bin/jan-cli"],
|
||||
"externalBin": ["resources/bin/bun", "resources/bin/uv"],
|
||||
"macOS": {
|
||||
"entitlements": "./Entitlements.plist"
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"bundle": {
|
||||
"targets": ["nsis", "msi"],
|
||||
"resources": ["resources/pre-install/**/*", "resources/LICENSE", "resources/bin/jan.exe"],
|
||||
"resources": ["resources/pre-install/**/*", "resources/LICENSE", "resources/bin/jan-cli.exe"],
|
||||
"externalBin": ["resources/bin/bun", "resources/bin/uv"],
|
||||
"windows": {
|
||||
"webviewInstallMode": {
|
||||
|
||||
Reference in New Issue
Block a user