* Pre-emptively upgrade Windows runner from `server-2022` to
`server-2025`
* `windows-latest` is automatically upgrading to `server-2025` on
September 2, 2025 (actions/runner-images#12677)
Fix `FileNotFoundException` errors when running tests on Ubuntu 24.04.
Tests were failing because the user data directory did not exist in the
new GitHub Ubuntu-24.04 runner environment.
The change:
- Updates all GitHub Actions workflows to use `ubuntu-24.04`
- Creates `~/.local/share` directory in CI pipeline to ensure the user
data directory exists during tests
This resolves the blocking issue that prevented the Ubuntu upgrade by
ensuring the required directory structure exists in the CI environment.
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