Skip to content

Commit c6b1eae

Browse files
authored
Alternative frontend with Slint (#1102)
1 parent 8df5e99 commit c6b1eae

Some content is hidden

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

88 files changed

+8430
-856
lines changed

.github/workflows/linux_cli.yml

+2-5
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,20 @@ jobs:
1212
linux-cli:
1313
strategy:
1414
matrix:
15-
toolchain: [ stable, 1.70.0 ]
15+
toolchain: [ stable, 1.72.1 ]
1616
type: [ release ]
1717
runs-on: ubuntu-20.04
1818
steps:
1919
- uses: actions/checkout@v3
2020

2121
- name: Install basic libraries
22-
run: sudo apt-get update; sudo apt install libheif-dev ffmpeg -y
22+
run: sudo apt update || true; sudo apt install libheif-dev ffmpeg -y
2323

2424
- name: Setup rust version
2525
run: rustup default ${{ matrix.toolchain }}
2626

2727
- name: Build Release
2828
run: cargo build --release --bin czkawka_cli
29-
env:
30-
CARGO_INCREMENTAL: 0
31-
RUSTFLAGS: "-C debuginfo=0"
3229
if: ${{ (matrix.type == 'release') }}
3330

3431
- name: Store Linux CLI

.github/workflows/linux_cli_eyra.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: 🐧 Linux CLI Eyra
2+
on:
3+
push:
4+
pull_request:
5+
schedule:
6+
- cron: '0 0 * * 2'
7+
8+
env:
9+
CARGO_TERM_COLOR: always
10+
11+
jobs:
12+
linux-cli:
13+
strategy:
14+
matrix:
15+
toolchain: [ nightly ]
16+
type: [ release ]
17+
runs-on: ubuntu-20.04
18+
steps:
19+
- uses: actions/checkout@v3
20+
21+
- name: Install basic libraries
22+
run: sudo apt update || true; sudo apt install -y ffmpeg
23+
24+
# New versions of nightly rust may call new unimplemented in eyra functions, so use const version
25+
- name: Setup rust version
26+
run: rustup default nightly-2023-11-29
27+
28+
- name: Add eyra
29+
run: |
30+
cd czkawka_cli
31+
cargo add eyra --rename=std
32+
echo 'fn main() { println!("cargo:rustc-link-arg=-nostartfiles"); }' > build.rs
33+
cd ..
34+
35+
- name: Build Release
36+
run: cargo build --release --bin czkawka_cli
37+
if: ${{ (matrix.type == 'release') }}
38+
39+
- name: Store Linux CLI
40+
uses: actions/upload-artifact@v3
41+
with:
42+
name: czkawka_cli-${{ runner.os }}-${{ matrix.toolchain }}
43+
path: target/release/czkawka_cli
44+
if: ${{ matrix.type == 'release' }}
45+
46+
- name: Linux Regression Test
47+
run: |
48+
wget https://github.com/qarmin/czkawka/releases/download/6.0.0/TestFiles.zip
49+
cd ci_tester
50+
cargo build --release
51+
cd ..
52+
53+
ci_tester/target/release/ci_tester target/release/czkawka_cli
54+
if: ${{ matrix.type == 'release' }}

.github/workflows/linux_gui.yml

+64-26
Original file line numberDiff line numberDiff line change
@@ -9,48 +9,92 @@ env:
99
CARGO_TERM_COLOR: always
1010

1111
jobs:
12+
linux-krokiet-gui:
13+
strategy:
14+
matrix:
15+
toolchain: [ stable, 1.72.1 ]
16+
type: [ release ]
17+
runs-on: ubuntu-20.04
18+
steps:
19+
- uses: actions/checkout@v3
20+
21+
- name: Setup rust version
22+
run: rustup default ${{ matrix.toolchain }}
23+
24+
- name: Build Release Krokiet
25+
run: cargo build --release --bin krokiet
26+
if: ${{ (matrix.type == 'release') }}
27+
28+
- name: Store Linux GUI Krokiet
29+
uses: actions/upload-artifact@v3
30+
with:
31+
name: krokiet-${{ runner.os }}-${{ matrix.toolchain }}
32+
path: target/release/krokiet
33+
if: ${{ matrix.type == 'release' }}
34+
35+
linux-krokiet-gui-heif:
36+
strategy:
37+
matrix:
38+
toolchain: [ stable, 1.72.1 ]
39+
type: [ release ]
40+
runs-on: ubuntu-22.04
41+
steps:
42+
- uses: actions/checkout@v3
43+
44+
- name: Install basic libraries
45+
run: sudo apt update || true; sudo apt install libheif-dev libraw-dev -y
46+
47+
- name: Setup rust version
48+
run: rustup default ${{ matrix.toolchain }}
49+
50+
- name: Build Release Krokiet heif
51+
run: cargo build --release --bin krokiet --features "heif,libraw"
52+
if: ${{ (matrix.type == 'release') }}
53+
54+
- name: Store Linux GUI Krokiet heif libraw
55+
uses: actions/upload-artifact@v3
56+
with:
57+
name: krokiet-${{ runner.os }}-${{ matrix.toolchain }}-heif-libraw
58+
path: target/release/krokiet
59+
if: ${{ matrix.type == 'release' }}
60+
1261
linux-gui:
1362
strategy:
1463
matrix:
15-
toolchain: [ stable, 1.70.0 ]
64+
toolchain: [ stable, 1.72.1 ]
1665
type: [ release ]
1766
runs-on: ubuntu-22.04
1867
steps:
1968
- uses: actions/checkout@v3
2069

2170
- name: Install basic libraries
22-
run: sudo apt-get update; sudo apt install libgtk-4-dev libheif-dev -y
71+
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev -y
2372

2473
- name: Setup rust version
2574
run: rustup default ${{ matrix.toolchain }}
2675

27-
- name: Build Release Heif
28-
run: cargo build --release --features heif
29-
env:
30-
CARGO_INCREMENTAL: 0
31-
RUSTFLAGS: "-C debuginfo=0"
32-
if: ${{ (matrix.type == 'release') && (matrix.toolchain == '1.70.0') }}
76+
- name: Build Release Heif Libraw
77+
run: cargo build --release --bin czkawka_gui --features "heif,libraw"
78+
if: ${{ (matrix.type == 'release') }}
3379

34-
- name: Store Linux GUI Heif
80+
- name: Store Linux GUI Heif Libraw
3581
uses: actions/upload-artifact@v3
3682
with:
37-
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}-heif
83+
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}-heif-libraw
3884
path: target/release/czkawka_gui
39-
if: ${{ matrix.type == 'release' }}
85+
if: ${{ (matrix.type == 'release') && (matrix.toolchain == 'stable') }}
4086

4187
- name: Build Release
42-
run: cargo build --release
43-
env:
44-
CARGO_INCREMENTAL: 0
45-
RUSTFLAGS: "-C debuginfo=0"
46-
if: ${{ (matrix.type == 'release') && (matrix.toolchain == 'stable') }}
88+
run: cargo build --release --bin czkawka_gui
89+
if: ${{ (matrix.type == 'release') }}
4790

91+
# Only store stable toolchain
4892
- name: Store Linux GUI
4993
uses: actions/upload-artifact@v3
5094
with:
5195
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}
5296
path: target/release/czkawka_gui
53-
if: ${{ matrix.type == 'release' }}
97+
if: ${{ (matrix.type == 'release') && (matrix.toolchain == 'stable') }}
5498

5599
linux-appimage-gui:
56100
strategy:
@@ -62,16 +106,13 @@ jobs:
62106
- uses: actions/checkout@v3
63107

64108
- name: Install Dependencies
65-
run: sudo apt-get update; sudo apt install libgtk-4-dev libheif-dev librsvg2-dev wget fuse libfuse2 -y
109+
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev librsvg2-dev wget fuse libfuse2 -y
66110

67111
- name: Setup rust version
68112
run: rustup default ${{ matrix.toolchain }}
69113

70114
- name: Build Release
71-
run: cargo build --release
72-
env:
73-
CARGO_INCREMENTAL: 0
74-
RUSTFLAGS: "-C debuginfo=0"
115+
run: cargo build --release --bin czkawka_gui
75116

76117
- name: Download appimage dependencies
77118
run: |
@@ -118,13 +159,10 @@ jobs:
118159
- uses: actions/checkout@v3
119160

120161
- name: Install Dependencies
121-
run: sudo apt-get update; sudo apt install libgtk-4-dev libheif-dev librsvg2-dev wget fuse libfuse2 -y xvfb
162+
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev librsvg2-dev wget fuse libfuse2 -y xvfb
122163

123164
- name: Setup rust version
124165
run: rustup default ${{ matrix.toolchain }}
125166

126167
- name: Test
127168
run: xvfb-run cargo test
128-
env:
129-
CARGO_INCREMENTAL: 0
130-
RUSTFLAGS: "-C debuginfo=0"

.github/workflows/mac.yml

+14-4
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ jobs:
3232

3333
- name: Build Release
3434
run: cargo build --release
35-
env:
36-
CARGO_INCREMENTAL: 0
3735
if: ${{ matrix.type == 'release'}}
3836

3937
- name: Store MacOS CLI
@@ -50,10 +48,15 @@ jobs:
5048
path: target/release/czkawka_gui
5149
if: ${{ matrix.type == 'release' }}
5250

51+
- name: Store MacOS Krokiet
52+
uses: actions/upload-artifact@v3
53+
with:
54+
name: krokiet-${{ runner.os }}-${{ matrix.toolchain }}
55+
path: target/release/krokiet
56+
if: ${{ matrix.type == 'release' }}
57+
5358
- name: Build Release Heif
5459
run: cargo build --release --features heif
55-
env:
56-
CARGO_INCREMENTAL: 0
5760
if: ${{ matrix.type == 'release'}}
5861

5962
- name: Store MacOS CLI Heif
@@ -68,4 +71,11 @@ jobs:
6871
with:
6972
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}-heif
7073
path: target/release/czkawka_gui
74+
if: ${{ matrix.type == 'release' }}
75+
76+
- name: Store MacOS Krokiet Heif
77+
uses: actions/upload-artifact@v3
78+
with:
79+
name: krokiet-${{ runner.os }}-${{ matrix.toolchain }}-heif
80+
path: target/release/krokiet
7181
if: ${{ matrix.type == 'release' }}

.github/workflows/quality.yml

+5-8
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,13 @@ jobs:
1515
- uses: actions/checkout@v3
1616

1717
- name: Install Gtk 4
18-
run: sudo apt-get update; sudo apt install -y libgtk-4-dev libheif-dev -y
18+
run: sudo apt update || true; sudo apt install -y libgtk-4-dev libraw-dev libheif-dev -y
1919

2020
- name: Check the format
2121
run: cargo fmt --all -- --check
2222

23-
# type complexity must be ignored because we use huge templates for queries
2423
- name: Run clippy
25-
run: >
26-
cargo clippy
27-
--all-targets
28-
--all-features
29-
--
30-
-D warnings
24+
run: cargo clippy --all-targets --all-features -- -D warnings
25+
26+
- name: Run clippy
27+
run: cargo clippy -- -D warnings

0 commit comments

Comments
 (0)