mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-11-30 16:36:36 -05:00
Extend CI workflow to build for both `x86_64` and `aarch64` architectures:
- Add ARM variants for Ubuntu and macOS in the build matrix
- Skip tests on `aarch64` builds with `-x test` flag as JavaFX 21.x.x
doesn't currently support the ARM64 architecture
- Update artifact naming to include architecture identifiers
- Configure architecture-specific build paths and release outputs
This change enables native builds for ARM-based systems like Apple Silicon
Macs and ARM servers, improving performance for users on these platforms
while maintaining full test coverage on `x86_64` where supported.
Make localnet cache OS-specific
Prevent Error: Failed to CreateArtifact: Received non-retryable
error: Failed request: (409) Conflict: an artifact with this name
already exists on the workflow run
Add a warning about `linux/aarch64` tests being skipped
Simplify GitHub Actions workflow conditions
Replace verbose condition syntax with simpler `runner.os` expressions to
improve readability and maintainability. This change:
- Uses `runner.os` instead of specific `matrix.os` version strings
- Removes unnecessary `${{ }}` expression wrappers in if conditions
- Consolidates OS-specific conditions (e.g. `ubuntu-22.04` or
`ubuntu-22.04-arm`) into simpler checks (`runner.os == 'Linux'`)
Fix JavaFX loading on Mac ARM64 architecture
JavaFX 21.0.2 supports Mac ARM64 (Apple Silicon) but was failing to
load with `UnsatisfiedLinkError` because the build system wasn't
detecting ARM architecture properly.
This change allows the build system to correctly identify Mac ARM64
systems and use the appropriate JavaFX libraries, resolving the
compatibility issues when running on Apple Silicon Macs.
Split Build and Package Installer steps
Cleaner CI output, split Build and Package installer step into two steps
|
||
|---|---|---|
| .. | ||
| wrapper | ||
| README.md | ||
| verification-metadata.xml | ||
How to upgrade the Gradle version
Visit the Gradle website and decide the:
- desired version
- desired distribution type
- what is the sha256 for the version and type chosen above
Adjust the following command with tha arguments above and execute it twice:
./gradlew wrapper --gradle-version 8.2.1 \
--distribution-type all \
--gradle-distribution-sha256-sum 7c3ad722e9b0ce8205b91560fd6ce8296ac3eadf065672242fd73c06b8eeb6ee
The first execution should automatically update:
haveno/gradle/wrapper/gradle-wrapper.properties
The second execution should then update:
haveno/gradle/wrapper/gradle-wrapper.jarhaveno/gradlewhaveno/gradlew.bat
The four updated files are ready to be committed.