@@ -31,38 +31,22 @@ jobs:
31
31
strategy :
32
32
matrix :
33
33
arch : [aarch64-unknown-linux-gnu,
34
- aarch64-unknown-linux-gnu-portable,
35
34
x86_64-unknown-linux-gnu,
36
- x86_64-unknown-linux-gnu-portable,
37
35
x86_64-apple-darwin,
38
- x86_64-apple-darwin-portable,
39
- x86_64-windows,
40
- x86_64-windows-portable]
36
+ x86_64-windows]
41
37
include :
42
38
- arch : aarch64-unknown-linux-gnu
43
39
runner : ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "release", "large"]') || 'ubuntu-latest' }}
44
40
profile : maxperf
45
- - arch : aarch64-unknown-linux-gnu-portable
46
- runner : ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "release", "large"]') || 'ubuntu-latest' }}
47
- profile : maxperf
48
41
- arch : x86_64-unknown-linux-gnu
49
42
runner : ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "release", "large"]') || 'ubuntu-latest' }}
50
43
profile : maxperf
51
- - arch : x86_64-unknown-linux-gnu-portable
52
- runner : ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "release", "large"]') || 'ubuntu-latest' }}
53
- profile : maxperf
54
44
- arch : x86_64-apple-darwin
55
- runner : macos-latest
56
- profile : maxperf
57
- - arch : x86_64-apple-darwin-portable
58
- runner : macos-latest
45
+ runner : macos-13
59
46
profile : maxperf
60
47
- arch : x86_64-windows
61
48
runner : ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "windows", "release"]') || 'windows-2019' }}
62
49
profile : maxperf
63
- - arch : x86_64-windows-portable
64
- runner : ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "windows", "release"]') || 'windows-2019' }}
65
- profile : maxperf
66
50
67
51
runs-on : ${{ matrix.runner }}
68
52
needs : extract-version
@@ -90,53 +74,29 @@ jobs:
90
74
# Builds
91
75
# ==============================
92
76
93
- - name : Build Lighthouse for aarch64-unknown-linux-gnu-portable
94
- if : matrix.arch == 'aarch64-unknown-linux-gnu-portable'
95
- run : |
96
- cargo install cross
97
- env CROSS_PROFILE=${{ matrix.profile }} make build-aarch64-portable
98
-
99
77
- name : Build Lighthouse for aarch64-unknown-linux-gnu
100
78
if : matrix.arch == 'aarch64-unknown-linux-gnu'
101
79
run : |
102
80
cargo install cross
103
- env CROSS_PROFILE=${{ matrix.profile }} make build-aarch64
104
-
105
- - name : Build Lighthouse for x86_64-unknown-linux-gnu-portable
106
- if : matrix.arch == 'x86_64-unknown-linux-gnu-portable'
107
- run : |
108
- cargo install cross
109
- env CROSS_PROFILE=${{ matrix.profile }} make build-x86_64-portable
81
+ env CROSS_PROFILE=${{ matrix.profile }} make build-aarch64-portable
110
82
111
83
- name : Build Lighthouse for x86_64-unknown-linux-gnu
112
84
if : matrix.arch == 'x86_64-unknown-linux-gnu'
113
85
run : |
114
86
cargo install cross
115
- env CROSS_PROFILE=${{ matrix.profile }} make build-x86_64
116
-
117
- - name : Move cross-compiled binary
118
- if : startsWith(matrix.arch, 'aarch64')
119
- run : mv target/aarch64-unknown-linux-gnu/${{ matrix.profile }}/lighthouse ~/.cargo/bin/lighthouse
87
+ env CROSS_PROFILE=${{ matrix.profile }} make build-x86_64-portable
120
88
121
89
- name : Move cross-compiled binary
122
- if : startsWith(matrix.arch, 'x86_64-unknown-linux-gnu')
123
- run : mv target/x86_64-unknown-linux-gnu/${{ matrix.profile }}/lighthouse ~/.cargo/bin/lighthouse
124
-
125
- - name : Build Lighthouse for x86_64-apple-darwin portable
126
- if : matrix.arch == 'x86_64-apple-darwin-portable'
127
- run : cargo install --path lighthouse --force --locked --features portable,gnosis --profile ${{ matrix.profile }}
90
+ if : contains(matrix.arch, 'unknown-linux-gnu')
91
+ run : mv target/${{ matrix.arch }}/${{ matrix.profile }}/lighthouse ~/.cargo/bin/lighthouse
128
92
129
- - name : Build Lighthouse for x86_64-apple-darwin modern
93
+ - name : Build Lighthouse for x86_64-apple-darwin
130
94
if : matrix.arch == 'x86_64-apple-darwin'
131
- run : cargo install --path lighthouse --force --locked --features modern,gnosis --profile ${{ matrix.profile }}
132
-
133
- - name : Build Lighthouse for Windows portable
134
- if : matrix.arch == 'x86_64-windows-portable'
135
95
run : cargo install --path lighthouse --force --locked --features portable,gnosis --profile ${{ matrix.profile }}
136
96
137
- - name : Build Lighthouse for Windows modern
97
+ - name : Build Lighthouse for Windows
138
98
if : matrix.arch == 'x86_64-windows'
139
- run : cargo install --path lighthouse --force --locked --features modern ,gnosis --profile ${{ matrix.profile }}
99
+ run : cargo install --path lighthouse --force --locked --features portable ,gnosis --profile ${{ matrix.profile }}
140
100
141
101
- name : Configure GPG and create artifacts
142
102
if : startsWith(matrix.arch, 'x86_64-windows') != true
@@ -151,6 +111,11 @@ jobs:
151
111
cd artifacts
152
112
tar -czf lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}.tar.gz lighthouse
153
113
echo "$GPG_PASSPHRASE" | gpg --passphrase-fd 0 --pinentry-mode loopback --batch -ab lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}.tar.gz
114
+ for ext in "tar.gz" "tar.gz.asc";\
115
+ do for f in *.$ext;\
116
+ do cp $f "../${f%.$ext}-portable.$ext";\
117
+ done;\
118
+ done
154
119
mv *tar.gz* ..
155
120
156
121
- name : Configure GPG and create artifacts Windows
@@ -179,13 +144,29 @@ jobs:
179
144
path : lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}.tar.gz
180
145
compression-level : 0
181
146
147
+ - name : Upload artifact (copy)
148
+ if : startsWith(matrix.arch, 'x86_64-windows') != true
149
+ uses : actions/upload-artifact@v4
150
+ with :
151
+ name : lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}-portable.tar.gz
152
+ path : lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}-portable.tar.gz
153
+ compression-level : 0
154
+
182
155
- name : Upload signature
183
156
uses : actions/upload-artifact@v4
184
157
with :
185
158
name : lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}.tar.gz.asc
186
159
path : lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}.tar.gz.asc
187
160
compression-level : 0
188
161
162
+ - name : Upload signature (copy)
163
+ if : startsWith(matrix.arch, 'x86_64-windows') != true
164
+ uses : actions/upload-artifact@v4
165
+ with :
166
+ name : lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}-portable.tar.gz.asc
167
+ path : lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}-portable.tar.gz.asc
168
+ compression-level : 0
169
+
189
170
draft-release :
190
171
name : Draft Release
191
172
needs : [build, extract-version]
0 commit comments