Skip to content

Commit cb5a54b

Browse files
authored
Portable version of app (#1464)
1 parent 2c7b643 commit cb5a54b

Some content is hidden

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

75 files changed

+1344
-1019
lines changed

.github/workflows/linux_gui.yml .github/workflows/linux.yml

+180-16
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: 🐧 Linux GUI
1+
name: 🐧 Linux
22
on:
33
push:
44
pull_request:
@@ -8,40 +8,83 @@ on:
88
env:
99
CARGO_TERM_COLOR: always
1010

11+
# TODO - increase version to 22.04, to unify every job
12+
# TODO - remove appimage
1113
jobs:
12-
linux-krokiet-gui:
14+
linux-cli-krokiet-release:
15+
if: ${{ github.ref == 'refs/heads/master' }}
1316
runs-on: ubuntu-20.04
1417
steps:
1518
- uses: actions/checkout@v4
1619

20+
- name: Install basic libraries
21+
run: sudo apt update || true; sudo apt install libheif-dev libraw-dev ffmpeg -y
22+
1723
- name: Setup rust version
1824
run: rustup default 1.85.0
1925

20-
- name: Enable LTO
21-
if: ${{ github.ref == 'refs/heads/master' }}
22-
run: sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
26+
- name: Build Release
27+
run:
28+
sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
29+
cargo build --release --bin czkawka_cli --bin krokiet
2330

24-
- name: Build Release Krokiet
25-
run: cargo build --release --bin krokiet
31+
- name: Store Linux CLI
32+
uses: actions/upload-artifact@v4
33+
with:
34+
name: czkawka_cli-${{ runner.os }}-release
35+
path: target/release/czkawka_cli
2636

27-
- name: Store Linux GUI Krokiet
37+
- name: Store Linux Krokiet
2838
uses: actions/upload-artifact@v4
2939
with:
30-
name: krokiet-${{ runner.os }}
40+
name: czkawka_cli-${{ runner.os }}-release
3141
path: target/release/krokiet
3242

3343
- name: Prepare files to release
3444
run: |
35-
mv target/release/krokiet linux_krokiet_gui
45+
mv target/release/czkawka_cli linux_czkawka_cli
46+
mv target/release/krokiet linux_krokiet
47+
3648
- name: Release
3749
uses: softprops/action-gh-release@v2
38-
if: ${{ github.ref == 'refs/heads/master' }}
3950
with:
4051
tag_name: "Nightly"
4152
files: |
42-
linux_krokiet_gui
53+
linux_czkawka_cli
54+
linux_krokiet
4355
token: ${{ secrets.PAT_REPOSITORY }}
4456

57+
linux-cli-krokiet-debug:
58+
if: ${{ github.ref != 'refs/heads/master' }}
59+
runs-on: ubuntu-20.04
60+
steps:
61+
- uses: actions/checkout@v4
62+
63+
- name: Install basic libraries
64+
run: sudo apt update || true; sudo apt install libheif-dev libraw-dev ffmpeg -y
65+
66+
- name: Setup rust version
67+
run: rustup default 1.85.0
68+
69+
- name: Build Debug
70+
run: |
71+
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
72+
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
73+
cargo build --bin czkawka_cli --bin krokiet
74+
75+
- name: Store Linux CLI Debug
76+
uses: actions/upload-artifact@v4
77+
with:
78+
name: czkawka_cli-${{ runner.os }}-debug
79+
path: target/debug/czkawka_cli
80+
81+
- name: Store Linux Krokiet Debug
82+
uses: actions/upload-artifact@v4
83+
with:
84+
name: krokiet-${{ runner.os }}-debug
85+
path: target/debug/krokiet
86+
87+
4588
linux-krokiet-gui-heif:
4689
runs-on: ubuntu-22.04
4790
steps:
@@ -105,7 +148,6 @@ jobs:
105148
- name: Build Release
106149
run: cargo build --release --bin czkawka_gui
107150

108-
# Only store stable toolchain
109151
- name: Store Linux GUI
110152
uses: actions/upload-artifact@v4
111153
with:
@@ -207,11 +249,133 @@ jobs:
207249
steps:
208250
- uses: actions/checkout@v4
209251

210-
- name: Install Dependencies
211-
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev librsvg2-dev wget fuse libfuse2 -y xvfb
252+
- name: Install basic libraries
253+
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev -y
212254

213255
- name: Setup rust version
214256
run: rustup default 1.85.0
215257

216258
- name: Test
217-
run: xvfb-run cargo test
259+
run: |
260+
xvfb-run cargo test
261+
262+
linux-regression-tests-on-minimal-rust-version:
263+
runs-on: ubuntu-22.04
264+
steps:
265+
- uses: actions/checkout@v4
266+
267+
- name: Install basic libraries
268+
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev ffmpeg -y
269+
270+
- name: Setup rust version
271+
run: rustup default 1.85.0
272+
273+
- name: Build
274+
run: |
275+
cargo check
276+
cargo check --features "heif,libraw"
277+
278+
- name: Build test version
279+
run: cargo build --profile test --bin czkawka_cli
280+
281+
- name: Linux Regression Test
282+
run: |
283+
wget https://github.com/qarmin/czkawka/releases/download/6.0.0/TestFiles.zip
284+
cd ci_tester
285+
cargo build --release
286+
cd ..
287+
288+
ci_tester/target/release/ci_tester target/debug/czkawka_cli
289+
290+
linux-arm-release:
291+
if: ${{ github.ref == 'refs/heads/master' }}
292+
runs-on: ubuntu-22.04-arm
293+
steps:
294+
- uses: actions/checkout@v4
295+
296+
- name: Install basic libraries
297+
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev -y
298+
299+
- name: Setup rust version
300+
run: rustup default 1.85.0
301+
302+
- name: Build Release
303+
run:
304+
sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
305+
cargo build --release
306+
307+
- name: Store cli
308+
uses: actions/upload-artifact@v4
309+
with:
310+
name: czkawka_cli-${{ runner.os }}-arm-release
311+
path: |
312+
target/release/czkawka_cli
313+
314+
- name: Store gui
315+
uses: actions/upload-artifact@v4
316+
with:
317+
name: czkawka_gui-${{ runner.os }}-arm-release
318+
path: |
319+
target/release/czkawka_gui
320+
321+
- name: Store krokiet
322+
uses: actions/upload-artifact@v4
323+
with:
324+
name: krokiet-${{ runner.os }}-arm-release
325+
path: |
326+
target/release/krokiet
327+
328+
- name: Prepare files to release
329+
run: |
330+
mv target/release/czkawka_cli linux_czkawka_cli_arm
331+
mv target/release/czkawka_gui linux_czkawka_gui_arm
332+
mv target/release/krokiet linux_krokiet_arm
333+
334+
- name: Release
335+
uses: softprops/action-gh-release@v2
336+
with:
337+
tag_name: "Nightly"
338+
files: |
339+
linux_czkawka_cli_arm
340+
linux_czkawka_gui_arm
341+
linux_krokiet_arm
342+
token: ${{ secrets.PAT_REPOSITORY }}
343+
344+
linux-arm-debug:
345+
if: ${{ github.ref != 'refs/heads/master' }}
346+
runs-on: ubuntu-22.04-arm
347+
steps:
348+
- uses: actions/checkout@v4
349+
350+
- name: Install basic libraries
351+
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev -y
352+
353+
- name: Setup rust version
354+
run: rustup default 1.85.0
355+
356+
- name: Build Debug
357+
run: |
358+
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
359+
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
360+
cargo build
361+
362+
- name: Store cli
363+
uses: actions/upload-artifact@v4
364+
with:
365+
name: czkawka_cli-${{ runner.os }}-arm-debug
366+
path: |
367+
target/debug/czkawka_cli
368+
369+
- name: Store gui
370+
uses: actions/upload-artifact@v4
371+
with:
372+
name: czkawka_gui-${{ runner.os }}-arm-debug
373+
path: |
374+
target/debug/czkawka_gui
375+
376+
- name: Store krokiet
377+
uses: actions/upload-artifact@v4
378+
with:
379+
name: krokiet-${{ runner.os }}-arm-debug
380+
path: |
381+
target/debug/krokiet

.github/workflows/linux_cli.yml

-59
This file was deleted.

.github/workflows/linux_cli_eyra.yml

-63
This file was deleted.

.github/workflows/minimial_version.yml

-26
This file was deleted.

0 commit comments

Comments
 (0)