mirror of
https://github.com/different-ai/openwork
synced 2026-04-25 17:15:34 +02:00
Linux arm64 build and release (#582)
* Initial plan * Add ARM64 build support to workflows and AUR packaging Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Fix: Add noextract field update to AUR script Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Add comment explaining temporary SKIP checksum for ARM64 Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Make cross-compilation tools conditional on runner architecture Cross-compilation tools (gcc-aarch64-linux-gnu) are now only installed when actually cross-compiling (x86_64 → ARM64). Native ARM64 runners will use native compilation without these tools. This enables flexible deployment: - Default: Cross-compilation on ubuntu-22.04 (free tier) - Optional: Native compilation on ubuntu-*-arm64 or self-hosted ARM64 runners The workflow auto-detects via runner.arch context. Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Remove cross-compilation tools installation for native ARM64 runners Since we're running on native ARM64 runners, cross-compilation tools are not needed. The native toolchain will be used directly for ARM64 builds. This simplifies the workflow and improves build performance by removing unnecessary package installation. Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Refactor: Extract SHA256 checksum calculation to reusable function Eliminates code duplication by creating a single compute_sha256() function that is called twice, instead of duplicating the Python code block. Benefits: - Reduced script from 132 to 123 lines (9 lines saved) - Single source of truth for checksum logic - Easier to maintain and modify in the future - Follows DRY (Don't Repeat Yourself) principle Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Fix: Update comment to use consistent terminology Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Replace Python SHA256 hashing with native sha256sum command Simplifies the compute_sha256() function by replacing the Python implementation with native bash sha256sum command, reducing complexity and improving performance. Changes: - Replaced 13-line Python function with 1-line sha256sum call - Reduced script from 123 to 113 lines (10 lines saved) - Eliminated Python interpreter startup overhead for hashing - Maintains full compatibility with existing checksums Benefits: - Simpler, more idiomatic bash implementation - Faster execution (no Python startup for hashing) - Easier to read and maintain Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Remove compute_sha256 function and inline sha256sum usage Eliminates the compute_sha256() wrapper function and directly inlines sha256sum calls, making the code simpler and more transparent. Changes: - Removed function definition (lines 46-49) - Inlined sha256sum calls directly where needed - Reduced script from 113 to 108 lines (5 lines saved) - Updated comment to reflect direct usage Benefits: - Simpler code with fewer abstractions - More direct and transparent implementation - Easier to understand at a glance Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> * Remove useless comments from update-aur.sh * foo * bar * Bring back ARM64 cross-compilation tools * Add Linux-ARM64-build-and-release branch to workflow * wip --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: koubas <1354930+koubas@users.noreply.github.com> Co-authored-by: Benjamin Shafii <benjamin.shafii@gmail.com>
This commit is contained in:
7
.github/workflows/release-macos-aarch64.yml
vendored
7
.github/workflows/release-macos-aarch64.yml
vendored
@@ -249,6 +249,10 @@ jobs:
|
||||
os_type: linux
|
||||
target: x86_64-unknown-linux-gnu
|
||||
args: "--target x86_64-unknown-linux-gnu --bundles deb,rpm"
|
||||
- platform: ubuntu-22.04-arm
|
||||
os_type: linux
|
||||
target: aarch64-unknown-linux-gnu
|
||||
args: "--target aarch64-unknown-linux-gnu --bundles deb,rpm"
|
||||
- platform: windows-2022
|
||||
os_type: windows
|
||||
target: x86_64-pc-windows-msvc
|
||||
@@ -425,6 +429,9 @@ jobs:
|
||||
x86_64-unknown-linux-gnu)
|
||||
opencode_asset="opencode-linux-x64-baseline.tar.gz"
|
||||
;;
|
||||
aarch64-unknown-linux-gnu)
|
||||
opencode_asset="opencode-linux-arm64.tar.gz"
|
||||
;;
|
||||
x86_64-pc-windows-msvc)
|
||||
opencode_asset="opencode-windows-x64-baseline.zip"
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user