mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-08 08:52:12 +00:00
build: verify native Windows and Linux ARM64 bundles
This commit is contained in:
1 parent
4a620122e8
commit
d91f851eeb
2 files changed
+66
No files matched your search
@@ -0,0 +1,60 @@
|
||||
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/
|
||||
@@ -70,6 +70,12 @@ jobs:
|
||||
- name: Linux x64
|
||||
os: ubuntu-22.04
|
||||
target: x86_64-unknown-linux-gnu
|
||||
- name: Linux arm64
|
||||
os: ubuntu-22.04-arm
|
||||
target: aarch64-unknown-linux-gnu
|
||||
- name: Windows arm64
|
||||
os: windows-11-arm
|
||||
target: aarch64-pc-windows-msvc
|
||||
- name: Windows x64
|
||||
os: windows-latest
|
||||
target: x86_64-pc-windows-msvc
|
||||
|
||||
Reference in new issue
Block a user