diff --git a/.github/workflows/arm64-check.yml b/.github/workflows/arm64-check.yml new file mode 100644 index 000000000..0f684c80d --- /dev/null +++ b/.github/workflows/arm64-check.yml @@ -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('