Files
openwork/.github
Jakub Husák f2bcf05e0e 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>
2026-02-16 20:33:52 -08:00
..