Skip to content

Commit bea3318

Browse files
committed
feat: Package for linux arm64
1 parent 745877a commit bea3318

File tree

5 files changed

+49
-11
lines changed

5 files changed

+49
-11
lines changed

.github/workflows/package.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,16 @@ jobs:
165165
name: Neuron-Win
166166
path: release/Neuron-*-setup.exe
167167

168-
- name: Upload Neuron Linux
168+
- name: Upload Neuron Linux(x64)
169169
if: matrix.os == 'ubuntu-20.04'
170170
uses: actions/upload-artifact@v4
171171
with:
172-
name: Neuron-Linux
173-
path: release/Neuron-*.AppImage
172+
name: Neuron-Linux-x64
173+
path: release/Neuron-*-x86_64.AppImage
174+
175+
- name: Upload Neuron Linux(arm64)
176+
if: matrix.os == 'ubuntu-20.04'
177+
uses: actions/upload-artifact@v3
178+
with:
179+
name: Neuron-Linux-arm64
180+
path: release/Neuron-*-arm64.AppImage

.github/workflows/package_for_test.yml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ jobs:
100100
run: |
101101
sudo apt-get update
102102
sudo apt-get install -y libudev-dev
103+
sudo apt-get install -y zlib
104+
rpm -ql zlib
105+
sudo ln -s /usr/lib64/libz.so.1 /usr/lib64/libz.so
103106
104107
- name: Install Lerna
105108
run: yarn global add lerna
@@ -197,12 +200,19 @@ jobs:
197200
name: Neuron-Win
198201
path: release/Neuron-*-setup.exe
199202

200-
- name: Upload Neuron Linux
203+
- name: Upload Neuron Linux(arm64)
201204
if: matrix.os == 'ubuntu-20.04'
202205
uses: actions/upload-artifact@v4
203206
with:
204-
name: Neuron-Linux
205-
path: release/Neuron-*.AppImage
207+
name: Neuron-Linux-arm64
208+
path: release/Neuron-*-arm64.AppImage
209+
210+
- name: Upload Neuron Linux(x64)
211+
if: matrix.os == 'ubuntu-20.04'
212+
uses: actions/upload-artifact@v3
213+
with:
214+
name: Neuron-Linux-x64
215+
path: release/Neuron-*-x86_64.AppImage
206216

207217
comment_when_package_success:
208218
needs: [packaging]

packages/neuron-wallet/electron-builder.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ linux:
8585
category: Finance
8686
icon: assets/icons/
8787
extraFiles:
88-
- from: "bin/linux/ckb"
88+
- from: "bin/linux/ckb-${arch}"
8989
to: "bin/ckb"
9090
- from: "bin/linux/ckb-light-client"
9191
to: "bin/ckb-light-client"
@@ -94,4 +94,7 @@ linux:
9494
- from: "light/ckb_light_mainnet.toml"
9595
to: "light/ckb_light_mainnet.toml"
9696
target:
97-
- AppImage
97+
- target: AppImage
98+
arch:
99+
- arm64
100+
- x64

scripts/download-ckb.sh

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,30 @@ function download_macos_light() {
4848
}
4949

5050
function download_linux() {
51+
download_linux_x86_64
52+
download_linux_aarch64
53+
}
54+
55+
function download_linux_x86_64() {
5156
# Linux
5257
CKB_FILENAME="ckb_${CKB_VERSION}_x86_64-unknown-linux-gnu-portable"
5358
cd $ROOT_DIR/packages/neuron-wallet/bin/linux
5459

5560
curl -O -L "${GITHUB_RELEASE_URL}/${CKB_VERSION}/${CKB_FILENAME}.tar.gz"
5661
tar xvzf ${CKB_FILENAME}.tar.gz
57-
cp ${CKB_FILENAME}/ckb ./
62+
cp ${CKB_FILENAME}/ckb ./ckb-x64
63+
rm -rf $CKB_FILENAME
64+
rm ${CKB_FILENAME}.tar.gz
65+
}
66+
67+
function download_linux_aarch64() {
68+
# for linux arm64
69+
CKB_FILENAME="ckb_${CKB_VERSION}_aarch64-unknown-linux-gnu"
70+
cd $ROOT_DIR/packages/neuron-wallet/bin/linux
71+
72+
curl -O -L "${GITHUB_RELEASE_URL}/${CKB_VERSION}/${CKB_FILENAME}.tar.gz"
73+
tar xvzf ${CKB_FILENAME}.tar.gz
74+
cp ${CKB_FILENAME}/ckb ./ckb-arm64
5875
rm -rf $CKB_FILENAME
5976
rm ${CKB_FILENAME}.tar.gz
6077
}

scripts/release-checksums.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@
1313
macos_x64_dmg = "https://github.com/nervosnetwork/neuron/releases/download/#{tag}/Neuron-#{tag}-x64.dmg"
1414
macos_arm64_dmg = "https://github.com/nervosnetwork/neuron/releases/download/#{tag}/Neuron-#{tag}-arm64.dmg"
1515

16-
linux_appimage = "https://github.com/nervosnetwork/neuron/releases/download/#{tag}/Neuron-#{tag}-x86_64.AppImage"
16+
linux_x64_appimage = "https://github.com/nervosnetwork/neuron/releases/download/#{tag}/Neuron-#{tag}-x86_64.AppImage"
17+
linux_arm64_appimage = "https://github.com/nervosnetwork/neuron/releases/download/#{tag}/Neuron-#{tag}-arm64.AppImage"
1718

1819
def get_sha256_checksum(url)
1920
content = URI.open(url).read
2021
Digest::SHA256.hexdigest(content)
2122
end
2223

23-
windows_exe_sha256, macos_x64_zip_sha256, macos_arm64_zip_sha256, macos_x64_dmg_sha256, macos_arm64_dmg_sha256, linux_appimage_sha256 = [windows_exe, macos_x64_zip, macos_arm64_zip, macos_x64_dmg, macos_arm64_dmg, linux_appimage].map do |url|
24+
windows_exe_sha256, macos_x64_zip_sha256, macos_arm64_zip_sha256, macos_x64_dmg_sha256, macos_arm64_dmg_sha256, linux_appimage_sha256 = [windows_exe, macos_x64_zip, macos_arm64_zip, macos_x64_dmg, macos_arm64_dmg, linux_x64_appimage, linux_arm64_appimage].map do |url|
2425
Thread.new { get_sha256_checksum(url) }
2526
end.map(&:value)
2627

0 commit comments

Comments
 (0)