Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
vixos: linux
arch: x86_64

- os: ubuntu-22.04-arm
- os: ubuntu-24.04-arm
vixos: linux
arch: aarch64

Expand Down Expand Up @@ -380,6 +380,19 @@ jobs:
tar -C dist -czf "dist/$ASSET" vix
rm -f dist/vix

- name: Validate packaged binary (Linux)
if: runner.os == 'Linux'
shell: bash
run: |
set -euxo pipefail

mkdir -p smoke
tar -xzf "dist/vix-${{ matrix.vixos }}-${{ matrix.arch }}.tar.gz" -C smoke

file smoke/vix
ldd smoke/vix || true
smoke/vix --version

- name: Package (Windows)
if: runner.os == 'Windows'
shell: pwsh
Expand Down Expand Up @@ -419,7 +432,7 @@ jobs:
publish:
name: publish (github release)
needs: build-release
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
Expand Down
18 changes: 16 additions & 2 deletions .github/workflows/sdk-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
sdkos: linux
arch: x86_64

Expand Down Expand Up @@ -185,6 +185,20 @@ jobs:
ASSET="vix-sdk-${{ matrix.sdkos }}-${{ matrix.arch }}.tar.gz"
tar -C install -czf "dist/$ASSET" .

- name: Validate packaged SDK (Linux)
if: runner.os == 'Linux'
shell: bash
run: |
set -euxo pipefail

mkdir -p smoke
tar -xzf "dist/vix-sdk-${{ matrix.sdkos }}-${{ matrix.arch }}.tar.gz" -C smoke

test -f smoke/bin/vix
file smoke/bin/vix
ldd smoke/bin/vix || true
smoke/bin/vix --version

- name: Package SDK (Windows)
if: runner.os == 'Windows'
shell: pwsh
Expand All @@ -209,7 +223,7 @@ jobs:
publish-sdk:
name: publish-sdk
needs: build-sdk
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- name: Download all artifacts
Expand Down
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
---

## [Unreleased]
## [v2.1.16]

### Fixes

- fix(release): resolve Linux runtime failures due to shared library ABI mismatch
Linux artifacts were previously built on Ubuntu 22.04, producing binaries linked against `libfmt.so.8` and incompatible with newer distributions (e.g. Ubuntu 24.04).
Updated release workflows to build on Ubuntu 24.04 to align with modern Linux environments.

- fix(sdk): ensure SDK binaries run correctly on modern Linux systems
SDK artifacts now use the same updated Linux build environment to avoid runtime failures after installation.

### Improvements

- improve(utils): prefer header-only fmt and spdlog targets
Updated `vix_utils` to prioritize `fmt::fmt-header-only` and `spdlog::spdlog_header_only`, reducing reliance on system shared libraries and improving portability.

- improve(utils): avoid implicit shared library dependencies in Linux releases
Added `SPDLOG_FMT_EXTERNAL=1` to ensure consistent integration with fmt and prevent unexpected linkage behavior.

- improve(ci): add runtime validation step for packaged Linux artifacts
Added a post-build validation step to execute `vix --version` and inspect dependencies via `ldd`, preventing broken binaries from being published.

- improve(ci): unify Linux build environment across release and SDK workflows
Standardized on Ubuntu 24.04 for consistency and improved compatibility.

### Notes

- Existing installations on older Linux systems may still require compatible runtime libraries.
- Future releases aim to provide fully self-contained Linux binaries.

## [v2.1.15]

### Fixes
Expand Down
2 changes: 1 addition & 1 deletion modules/utils
Submodule utils updated 1 files
+18 −9 CMakeLists.txt
Loading