mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 08:07:49 +00:00
build: register verified ARM64 updater bundles and remove verification workflow
This commit is contained in:
@@ -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/
|
||||
@@ -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"]],
|
||||
];
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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"],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user