9
9
CARGO_TERM_COLOR : always
10
10
11
11
jobs :
12
- linux-cli :
12
+ linux-default :
13
13
strategy :
14
14
matrix :
15
- toolchain : [ stable ]
15
+ toolchain : [ stable, 1.60.0 ]
16
16
type : [ release ]
17
17
runs-on : ubuntu-22.04
18
18
steps :
@@ -27,19 +27,26 @@ jobs:
27
27
with :
28
28
path : |
29
29
target
30
- key : linux-cli -${{github.ref}}-${{github.sha}}
30
+ key : linux-default -${{github.ref}}-${{github.sha}}
31
31
restore-keys : |
32
- linux-cli -${{github.ref}}-${{github.sha}}
32
+ linux-default -${{github.ref}}-${{github.sha}}
33
33
34
34
- name : Install basic libraries
35
35
run : sudo apt-get update; sudo apt install libgtk-4-dev libheif-dev -y
36
36
37
- - name : Build CLI Release
38
- run : cargo build --release --bin czkawka_cli --features heif
37
+ - name : Build Release
38
+ run : cargo build --release
39
+ env :
40
+ CARGO_INCREMENTAL : 0
41
+ RUSTFLAGS : " -C debuginfo=0"
42
+ if : ${{ (matrix.type == 'release') && (matrix.toolchain == '1.60.0') }}
43
+
44
+ - name : Build Release Heif
45
+ run : cargo build --release --features heif
39
46
env :
40
47
CARGO_INCREMENTAL : 0
41
48
RUSTFLAGS : " -C debuginfo=0"
42
- if : ${{ matrix.type == 'release'}}
49
+ if : ${{ ( matrix.type == 'release') && (matrix.toolchain == 'stable') }}
43
50
44
51
- name : Store Linux CLI
45
52
uses : actions/upload-artifact@v2
48
55
path : target/release/czkawka_cli
49
56
if : ${{ matrix.type == 'release' }}
50
57
58
+ - name : Store Linux GUI
59
+ uses : actions/upload-artifact@v2
60
+ with :
61
+ name : czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}
62
+ path : target/release/czkawka_gui
63
+ if : ${{ matrix.type == 'release' }}
64
+
51
65
# Duplicate finder checks included and excluded directories
52
66
# Others are just check delete files number
53
67
- name : Linux Regression Test
@@ -118,12 +132,11 @@ jobs:
118
132
python3 misc/check_results.py TestSuite 15 8
119
133
target/release/czkawka_cli temp -d "$(pwd)/TestSuite" -D
120
134
python3 misc/check_results.py TestSuite 14 8
121
- if : ${{ matrix.type == 'release' }}
122
135
123
- linux-gui :
136
+ linux-appimage- gui :
124
137
strategy :
125
138
matrix :
126
- toolchain : [ stable, 1.60.0 ]
139
+ toolchain : [ stable ]
127
140
type : [ release ]
128
141
runs-on : ubuntu-22.04
129
142
steps :
@@ -138,38 +151,36 @@ jobs:
138
151
with :
139
152
path : |
140
153
target
141
- key : linux-gui-${{github.ref}}-${{github.sha}}
154
+ key : linux-appimage- gui-${{github.ref}}-${{github.sha}}
142
155
restore-keys : |
143
- linux-gui-${{github.ref}}-${{github.sha}}
144
-
145
- - name : Install Gtk, Mingw, unzip, zip and wget
146
- run : sudo apt-get update; sudo apt install libgtk-4-dev fuse libfuse2
147
- if : ${{ matrix.toolchain == '1.60.0' }}
156
+ linux-appimage-gui-${{github.ref}}-${{github.sha}}
148
157
149
- - name : Install Gtk, Mingw, unzip, zip and wget and libheif
150
- run : sudo apt-get update; sudo apt install libgtk-4-dev fuse libfuse2 libheif-dev -y
151
- if : ${{ matrix.toolchain == 'stable' }}
158
+ - name : Install Dependencies
159
+ run : sudo apt-get update; sudo apt install libgtk-4-dev libheif-dev librsvg2-dev wget fuse libfuse2 -y
152
160
153
- - name : Build GUI Release
154
- run : cargo build --release --bin czkawka_gui
161
+ - name : Build Release
162
+ run : cargo build --release
155
163
env :
156
164
CARGO_INCREMENTAL : 0
157
165
RUSTFLAGS : " -C debuginfo=0"
158
- if : ${{ (matrix.type == 'release') && (matrix.toolchain == '1.60.0') }}
159
166
160
- - name : Build GUI Release
161
- run : cargo build --release --bin czkawka_gui --features heif
162
- env :
163
- CARGO_INCREMENTAL : 0
164
- RUSTFLAGS : " -C debuginfo=0"
165
- if : ${{ (matrix.type == 'release') && (matrix.toolchain == 'stable') }}
167
+ - name : Download appimage dependiences
168
+ run : |
169
+ pwd
170
+ wget -c "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
171
+ wget -c "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
172
+ chmod +x linuxdeploy-plugin-gtk.sh
173
+ chmod +x linuxdeploy-x86_64.AppImage
174
+ mkdir -p AppDir/usr/bin
175
+ pwd
176
+ cp target/release/czkawka_gui AppDir/usr/bin
177
+ ./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin gtk --output appimage --icon-file data/icons/com.github.qarmin.czkawka.svg --desktop-file data/com.github.qarmin.czkawka.desktop
166
178
167
- - name : Store Linux GUI
179
+ - name : Store Linux Appimage GUI
168
180
uses : actions/upload-artifact@v2
169
181
with :
170
- name : czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}
171
- path : target/release/czkawka_gui
172
- if : ${{ matrix.type == 'release' }}
182
+ name : czkawka_gui-appimage-${{ runner.os }}-${{ matrix.toolchain }}
183
+ path : Czkawka*.AppImage
173
184
174
185
- name : Minimal AppImage
175
186
run : |
@@ -188,12 +199,11 @@ jobs:
188
199
name : czkawka_gui-${{ matrix.toolchain }}_minimal_AppImage
189
200
path : out/*.AppImage
190
201
191
-
192
- linux-appimage-gui :
202
+ linux-tests :
193
203
strategy :
194
204
matrix :
195
205
toolchain : [ stable ]
196
- type : [ release ]
206
+ type : [ debug ]
197
207
runs-on : ubuntu-22.04
198
208
steps :
199
209
- uses : actions/checkout@v2
@@ -203,35 +213,11 @@ jobs:
203
213
toolchain : ${{ matrix.toolchain }}
204
214
override : true
205
215
206
- - uses : actions/cache@v2
207
- with :
208
- path : |
209
- target
210
- key : linux-appimage-gui-${{github.ref}}-${{github.sha}}
211
- restore-keys : |
212
- linux-appimage-gui-${{github.ref}}-${{github.sha}}
216
+ - name : Install Dependencies
217
+ run : sudo apt-get update; sudo apt install libgtk-4-dev libheif-dev librsvg2-dev wget fuse libfuse2 -y xvfb
213
218
214
- - name : Install Gtk,
215
- run : sudo apt-get update; sudo apt install libgtk-4-dev libheif-dev librsvg2-dev wget fuse libfuse2 -y
216
-
217
- - name : Build GUI Release
218
- run : cargo build --release --bin czkawka_gui
219
+ - name : Test
220
+ run : xvfb-run cargo test
219
221
env :
220
222
CARGO_INCREMENTAL : 0
221
- RUSTFLAGS : " -C debuginfo=0"
222
-
223
- - name : Download appimage dependiences
224
- run : |
225
- wget -c "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
226
- wget -c "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
227
- chmod +x linuxdeploy-plugin-gtk.sh
228
- chmod +x linuxdeploy-x86_64.AppImage
229
- mkdir -p AppDir/usr/bin
230
- cp target/release/czkawka_gui AppDir/usr/bin
231
- ./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin gtk --output appimage --icon-file data/icons/com.github.qarmin.czkawka.svg --desktop-file data/com.github.qarmin.czkawka.desktop
232
-
233
- - name : Store Linux Appimage GUI
234
- uses : actions/upload-artifact@v2
235
- with :
236
- name : czkawka_gui-appimage-${{ runner.os }}-${{ matrix.toolchain }}
237
- path : Czkawka*.AppImage
223
+ RUSTFLAGS : " -C debuginfo=0"
0 commit comments