fix: update package bundle

This commit is contained in:
Louis
2026-03-03 21:05:39 +07:00
parent 4e7fc554c9
commit facd5e9227
14 changed files with 45 additions and 42 deletions

View File

@@ -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 }}

View File

@@ -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'

View File

@@ -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

View File

@@ -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 }}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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]

View File

@@ -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))?;

View File

@@ -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": {

View File

@@ -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"

View File

@@ -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": {