9
9
CARGO_TERM_COLOR : always
10
10
11
11
jobs :
12
- macos :
13
- runs-on : macos-latest
12
+ macos_x86_64 :
13
+ runs-on : macos-13
14
14
steps :
15
15
- uses : actions/checkout@v4
16
16
24
24
brew link --overwrite [email protected]
25
25
26
26
- name : Setup rust version
27
- run : rustup default stable
27
+ run : rustup default 1.85.0
28
28
29
29
- name : Enable LTO
30
+ if : ${{ github.ref == 'refs/heads/master' }}
30
31
run : sed -i '' 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
31
32
32
33
- name : Build Release
@@ -35,55 +36,133 @@ jobs:
35
36
- name : Store MacOS CLI
36
37
uses : actions/upload-artifact@v4
37
38
with :
38
- name : czkawka_cli-${{ runner.os }}
39
+ name : czkawka_cli-${{ runner.os }}-x86_64
39
40
path : target/release/czkawka_cli
40
41
41
42
- name : Store MacOS GUI
42
43
uses : actions/upload-artifact@v4
43
44
with :
44
- name : czkawka_gui-${{ runner.os }}
45
+ name : czkawka_gui-${{ runner.os }}-x86_64
45
46
path : target/release/czkawka_gui
46
47
47
48
- name : Store MacOS Krokiet
48
49
uses : actions/upload-artifact@v4
49
50
with :
50
- name : krokiet-${{ runner.os }}
51
+ name : krokiet-${{ runner.os }}-x86_64
51
52
path : target/release/krokiet
52
53
53
54
- name : Prepare files to release
54
55
run : |
55
- mv target/release/czkawka_cli macos_czkawka_cli
56
- mv target/release/czkawka_gui macos_czkawka_gui
57
- mv target/release/krokiet macos_krokiet
56
+ mv target/release/czkawka_cli macos_czkawka_cli_x86_64
57
+ mv target/release/czkawka_gui macos_czkawka_gui_x86_64
58
+ mv target/release/krokiet macos_krokiet_x86_64
59
+
58
60
- name : Release
59
61
uses : softprops/action-gh-release@v2
60
62
if : ${{ github.ref == 'refs/heads/master' }}
61
63
with :
62
64
tag_name : " Nightly"
63
65
files : |
64
- macos_czkawka_cli
65
- macos_czkawka_gui
66
- macos_krokiet
66
+ macos_czkawka_cli_x86_64
67
+ macos_czkawka_gui_x86_64
68
+ macos_krokiet_x86_64
69
+ token : ${{ secrets.PAT_REPOSITORY }}
70
+
71
+ # TODO - compilation is broken, not sure why, if you want to use it you need to fix it(I'm too lazy and don't have MacOS)
72
+ - name : Build Release Heif
73
+ run : cargo build --release --features heif
74
+
75
+ - name : Store MacOS CLI Heif
76
+ uses : actions/upload-artifact@v4
77
+ with :
78
+ name : czkawka_cli-${{ runner.os }}-heif-x86_64
79
+ path : target/release/czkawka_cli
80
+
81
+ - name : Store MacOS GUI Heif
82
+ uses : actions/upload-artifact@v4
83
+ with :
84
+ name : czkawka_gui-${{ runner.os }}-heif-x86_64
85
+ path : target/release/czkawka_gui
86
+
87
+ - name : Store MacOS Krokiet Heif
88
+ uses : actions/upload-artifact@v4
89
+ with :
90
+ name : krokiet-${{ runner.os }}-heif-x86_64
91
+ path : target/release/krokiet
92
+
93
+ - name : Prepare files to release 2
94
+ run : |
95
+ mv target/release/czkawka_cli macos_czkawka_cli_heif_x86_64
96
+ mv target/release/czkawka_gui macos_czkawka_gui_heif_x86_64
97
+ mv target/release/krokiet macos_krokiet_heif_x86_64
98
+
99
+ - name : Release 2
100
+ uses : softprops/action-gh-release@v2
101
+ if : ${{ github.ref == 'refs/heads/master' }}
102
+ with :
103
+ tag_name : " Nightly"
104
+ files : |
105
+ macos_czkawka_cli_heif_x86_64
106
+ macos_czkawka_gui_heif_x86_64
107
+ macos_krokiet_heif_x86_64
67
108
token : ${{ secrets.PAT_REPOSITORY }}
68
109
69
- # # TODO - compilation is broken, not sure why
70
- # - name: Build Release Heif
71
- # run: cargo build --release --features heif
72
- #
73
- # - name: Store MacOS CLI Heif
74
- # uses: actions/upload-artifact@v4
75
- # with:
76
- # name: czkawka_cli-${{ runner.os }}-heif
77
- # path: target/release/czkawka_cli
78
- #
79
- # - name: Store MacOS GUI Heif
80
- # uses: actions/upload-artifact@v4
81
- # with:
82
- # name: czkawka_gui-${{ runner.os }}-heif
83
- # path: target/release/czkawka_gui
84
- #
85
- # - name: Store MacOS Krokiet Heif
86
- # uses: actions/upload-artifact@v4
87
- # with:
88
- # name: krokiet-${{ runner.os }}-heif
89
- # path: target/release/krokiet
110
+ macos_arm :
111
+ runs-on : macos-latest
112
+ steps :
113
+ - uses : actions/checkout@v4
114
+
115
+ - name : Install Homebrew
116
+ run : /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
117
+
118
+ - name : Install GTK4
119
+ run : |
120
+ brew link --overwrite [email protected]
121
+ brew install rust gtk4 libheif || true
122
+ brew link --overwrite [email protected]
123
+
124
+ - name : Setup rust version
125
+ run : rustup default 1.85.0
126
+
127
+ - name : Enable LTO
128
+ if : ${{ github.ref == 'refs/heads/master' }}
129
+ run : sed -i '' 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
130
+
131
+ - name : Build Release
132
+ run : cargo build --release
133
+
134
+ - name : Store MacOS CLI
135
+ uses : actions/upload-artifact@v4
136
+ with :
137
+ name : czkawka_cli-${{ runner.os }}-arm
138
+ path : target/release/czkawka_cli
139
+
140
+ - name : Store MacOS GUI
141
+ uses : actions/upload-artifact@v4
142
+ with :
143
+ name : czkawka_gui-${{ runner.os }}-arm
144
+ path : target/release/czkawka_gui
145
+
146
+ - name : Store MacOS Krokiet
147
+ uses : actions/upload-artifact@v4
148
+ with :
149
+ name : krokiet-${{ runner.os }}-arm
150
+ path : target/release/krokiet
151
+
152
+ - name : Prepare files to release
153
+ run : |
154
+ mv target/release/czkawka_cli macos_czkawka_cli_arm
155
+ mv target/release/czkawka_gui macos_czkawka_gui_arm
156
+ mv target/release/krokiet macos_krokiet_arm
157
+
158
+ - name : Release
159
+ uses : softprops/action-gh-release@v2
160
+ if : ${{ github.ref == 'refs/heads/master' }}
161
+ with :
162
+ tag_name : " Nightly"
163
+ files : |
164
+ macos_czkawka_cli_arm
165
+ macos_czkawka_gui_arm
166
+ macos_krokiet_arm
167
+ token : ${{ secrets.PAT_REPOSITORY }}
168
+ # TODO - arm builds not works now with heif
0 commit comments