Skip to content

Commit 07dd157

Browse files
committed
feat(launcher): ship the native Rust/Slint launcher, retire the Tk installer
1 parent 4197669 commit 07dd157

56 files changed

Lines changed: 9510 additions & 2758 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ workspace
3030
# the image. CI escapes it only by checking out clean, which makes this a trap
3131
# that fires exactly once, on someone's laptop.
3232
#
33-
# Same failure as packaging/CraftBotAgent.spec's blanket app/data entry, which
33+
# Same failure as the old PyInstaller spec's blanket app/data entry, which
3434
# shipped 1.1 GB of one machine's memory index and databases.
3535
app/data/.file_index
3636
app/data/.usage

.github/workflows/ci.yml.disabled

Lines changed: 0 additions & 49 deletions
This file was deleted.

.github/workflows/launcher.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Launcher
2+
3+
# CI for the native launcher in launcher/ (Rust + Slint). The Release
4+
# workflow builds and ships it; this one catches breakage on the way there,
5+
# on every platform the launcher is shipped for.
6+
7+
on:
8+
push:
9+
paths:
10+
- "launcher/**"
11+
- ".github/workflows/launcher.yml"
12+
pull_request:
13+
paths:
14+
- "launcher/**"
15+
- ".github/workflows/launcher.yml"
16+
17+
env:
18+
CARGO_TERM_COLOR: always
19+
20+
jobs:
21+
test:
22+
name: Test (${{ matrix.os_label }})
23+
runs-on: ${{ matrix.os }}
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
include:
28+
- os: ubuntu-latest
29+
os_label: linux
30+
- os: windows-latest
31+
os_label: windows
32+
- os: macos-latest
33+
os_label: macos
34+
35+
defaults:
36+
run:
37+
working-directory: launcher
38+
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v4
42+
43+
- name: Set up Rust
44+
uses: dtolnay/rust-toolchain@stable
45+
with:
46+
components: rustfmt, clippy
47+
48+
- name: Cache cargo
49+
uses: Swatinem/rust-cache@v2
50+
with:
51+
workspaces: launcher
52+
53+
# Same insurance as the Release workflow: Slint has no C build deps,
54+
# but a few crates probe for these headers.
55+
- name: Linux build prerequisites
56+
if: matrix.os_label == 'linux'
57+
run: |
58+
sudo apt-get update
59+
sudo apt-get install -y libxkbcommon-dev libgl1-mesa-dev libfontconfig1-dev
60+
61+
- name: Format
62+
if: matrix.os_label == 'linux'
63+
run: cargo fmt --all -- --check
64+
65+
- name: Clippy
66+
if: matrix.os_label == 'linux'
67+
run: cargo clippy --release -- -D warnings
68+
69+
- name: Test
70+
run: cargo test --release
71+
72+
- name: Build
73+
run: cargo build --release

0 commit comments

Comments
 (0)