Skip to content

Commit 30ca7e6

Browse files
authored
Merge pull request #20 from Steake/copilot/fix-build-action-for-wallet
Add bitcell-wallet CLI and native GUI to release workflow
2 parents f6aa311 + 5ea92ea commit 30ca7e6

8 files changed

Lines changed: 1701 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,14 @@ jobs:
5151
restore-keys: |
5252
${{ runner.os }}-${{ matrix.target }}-cargo-
5353
54+
- name: Install Linux dependencies
55+
if: runner.os == 'Linux'
56+
run: |
57+
sudo apt-get update
58+
sudo apt-get install -y libfontconfig1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev
59+
5460
- name: Build release binaries
55-
run: cargo build --release --target ${{ matrix.target }} -p bitcell-node -p bitcell-admin
61+
run: cargo build --release --target ${{ matrix.target }} -p bitcell-node -p bitcell-admin -p bitcell-wallet -p bitcell-wallet-gui
5662

5763
- name: Create artifact directory
5864
shell: bash
@@ -64,13 +70,17 @@ jobs:
6470
run: |
6571
cp target/${{ matrix.target }}/release/bitcell-node artifacts/
6672
cp target/${{ matrix.target }}/release/bitcell-admin artifacts/
73+
cp target/${{ matrix.target }}/release/bitcell-wallet artifacts/
74+
cp target/${{ matrix.target }}/release/bitcell-wallet-gui artifacts/
6775
6876
- name: Copy binaries (Windows)
6977
if: runner.os == 'Windows'
7078
shell: bash
7179
run: |
7280
cp target/${{ matrix.target }}/release/bitcell-node.exe artifacts/
7381
cp target/${{ matrix.target }}/release/bitcell-admin.exe artifacts/
82+
cp target/${{ matrix.target }}/release/bitcell-wallet.exe artifacts/
83+
cp target/${{ matrix.target }}/release/bitcell-wallet-gui.exe artifacts/
7484
7585
- name: Create archive (Unix)
7686
if: runner.os != 'Windows'

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ members = [
1313
"crates/bitcell-admin",
1414
"crates/bitcell-simulation",
1515
"crates/bitcell-wallet",
16+
"crates/bitcell-wallet-gui",
1617
]
1718
resolver = "2"
1819

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[package]
2+
name = "bitcell-wallet-gui"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
6+
rust-version.workspace = true
7+
license.workspace = true
8+
repository.workspace = true
9+
description = "Cross-platform native GUI for BitCell wallet using Slint"
10+
11+
[[bin]]
12+
name = "bitcell-wallet-gui"
13+
path = "src/main.rs"
14+
15+
[dependencies]
16+
bitcell-wallet = { path = "../bitcell-wallet" }
17+
bitcell-crypto = { path = "../bitcell-crypto" }
18+
19+
# Slint UI framework - native rendering, no WebView
20+
slint = "1.9"
21+
22+
# Serialization
23+
serde.workspace = true
24+
serde_json = "1.0"
25+
26+
# Error handling
27+
thiserror.workspace = true
28+
anyhow.workspace = true
29+
30+
[build-dependencies]
31+
slint-build = "1.9"
32+
33+
[features]
34+
default = []

crates/bitcell-wallet-gui/build.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fn main() {
2+
slint_build::compile("ui/main.slint").expect("Slint compile failed");
3+
}

0 commit comments

Comments
 (0)