build: register verified ARM64 updater bundles and remove verification workflow

This commit is contained in:
l0ng-ai
2026-10-31 10:54:04 +08:00
parent 76f87ada84
commit 99c9afc030
4 changed files with 7 additions and 60 deletions
-60
View File
@@ -1,60 +0,0 @@
name: ARM64 verification
on:
push:
branches: [feat/arm64-builds]
jobs:
bundle:
strategy:
fail-fast: false
matrix:
include:
- os: windows-11-arm
target: aarch64-pc-windows-msvc
- os: ubuntu-22.04-arm
target: aarch64-unknown-linux-gnu
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with: { version: 11 }
- uses: actions/setup-node@v4
with: { node-version: 22, cache: pnpm }
- uses: dtolnay/rust-toolchain@stable
with: { targets: "${{ matrix.target }}" }
- uses: Swatinem/rust-cache@v2
with: { key: "${{ matrix.target }}" }
- name: Linux deps
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libxdo-dev libssl-dev patchelf
- run: pnpm install --frozen-lockfile
- run: cargo test --locked -p ide-tools
- uses: tauri-apps/tauri-action@v0
with:
args: --target ${{ matrix.target }} --config '{"bundle":{"createUpdaterArtifacts":false}}'
- name: Inspect architecture
shell: bash
run: |
python - <<'PYTHON'
import pathlib, struct
root = pathlib.Path('target/${{ matrix.target }}/release')
if '${{ runner.os }}' == 'Windows':
binary = root / 'openidea.exe'
data = binary.read_bytes()
offset = struct.unpack_from('<I', data, 0x3c)[0]
machine = struct.unpack_from('<H', data, offset + 4)[0]
assert machine == 0xaa64, hex(machine)
else:
binary = root / 'openidea'
data = binary.read_bytes()
assert data[:4] == b'\x7fELF'
assert struct.unpack_from('<H', data, 18)[0] == 183
print(binary, 'ARM64 verified')
for path in sorted((root / 'bundle').rglob('*')):
if path.is_file(): print(path)
PYTHON
- uses: actions/upload-artifact@v4
with:
name: bundles-${{ matrix.target }}
path: target/${{ matrix.target }}/release/bundle/
+5
View File
@@ -202,11 +202,16 @@ jobs:
}
// Bundle suffix → updater platform keys, as tauri-action names them.
const kinds = [
[/_aarch64\.AppImage$/, ["linux-aarch64", "linux-aarch64-appimage"]],
[/_arm64\.deb$/, ["linux-aarch64-deb"]],
[/\.aarch64\.rpm$/, ["linux-aarch64-rpm"]],
[/_amd64\.AppImage$/, ["linux-x86_64", "linux-x86_64-appimage"]],
[/_amd64\.deb$/, ["linux-x86_64-deb"]],
[/\.x86_64\.rpm$/, ["linux-x86_64-rpm"]],
[/_aarch64\.app\.tar\.gz$/, ["darwin-aarch64", "darwin-aarch64-app"]],
[/_x64\.app\.tar\.gz$/, ["darwin-x86_64", "darwin-x86_64-app"]],
[/_arm64_en-US\.msi$/, ["windows-aarch64", "windows-aarch64-msi"]],
[/_arm64-setup\.exe$/, ["windows-aarch64-nsis"]],
[/_x64_en-US\.msi$/, ["windows-x86_64", "windows-x86_64-msi"]],
[/_x64-setup\.exe$/, ["windows-x86_64-nsis"]],
];
+1
View File
@@ -195,6 +195,7 @@ mod tests {
let platform = Platform { os: Os::Windows, arch: Arch::Arm64 };
for (tool, asset) in [
("zls", "zls-aarch64-windows.zip"),
("terraform-ls", "terraform-ls_0.39.1_windows_arm64.zip"),
("taplo", "taplo-windows-aarch64.zip"),
("buf", "buf-Windows-arm64.zip"),
("texlab", "texlab-aarch64-windows.zip"),
+1
View File
@@ -440,6 +440,7 @@ pub static TOOLS: &[ToolSpec] = &[
rule(Linux, X64, "terraform-ls_*_linux_amd64.zip"),
rule(Linux, Arm64, "terraform-ls_*_linux_arm64.zip"),
rule(Windows, X64, "terraform-ls_*_windows_amd64.zip"),
rule(Windows, Arm64, "terraform-ls_*_windows_arm64.zip"),
],
locate: &["terraform-ls"],
},