From 9315bb8a134e6a92fccda9caf8c5bd91c05f3f44 Mon Sep 17 00:00:00 2001 From: Kenta Ishizaki Date: Wed, 24 Jun 2026 23:13:29 +0900 Subject: [PATCH] CI: Add Linux (Ubuntu 24.04) to test matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Introduce os matrix (macos-14, ubuntu-24.04) to run the full suite on both platforms - Split dependency installation into OS-specific steps - Rename job and step labels to be platform-neutral - Update CHANGELOG No Ruby code changes — Library.lib_path already resolves both .dylib and .so via glob. --- .github/workflows/ci.yml | 20 ++++++++++++++------ CHANGELOG.md | 6 ++++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c8bac1..d7f10a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,13 +6,14 @@ on: pull_request: jobs: - macos: - name: macOS / Ruby ${{ matrix.ruby }} - runs-on: macos-14 + test: + name: ${{ matrix.os }} / Ruby ${{ matrix.ruby }} + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - ruby: ['3.2', '3.3', '3.4'] + os: [macos-14, ubuntu-24.04] + ruby: ["3.2", "3.3", "3.4"] steps: - uses: actions/checkout@v4 @@ -20,18 +21,25 @@ jobs: run: | git clone --depth=1 https://github.com/libBeresta/libBeresta.git ../libBeresta - - name: Install build deps (cmake, libpng, zlib, pkg-config) + - name: Install build deps (macOS) + if: runner.os == 'macOS' run: | brew update brew install cmake libpng pkg-config + - name: Install build deps (Linux) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y cmake libpng-dev zlib1g-dev pkg-config build-essential + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - - name: Build libBeresta.dylib + - name: Build libBeresta shared library run: | cmake -S . -B build \ -DLIBBRST_SOURCE_DIR=$(cd ../libBeresta && pwd) \ diff --git a/CHANGELOG.md b/CHANGELOG.md index 81ecb98..b45db9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] +### Added +- Linux (Ubuntu 24.04) CI: converted the single macOS job into an + `os × ruby` matrix covering both macOS 14 and Ubuntu 24.04 + (addresses the Linux support noted in 0.1.0 Known limitations). + No Ruby code changes — `Library.lib_path` already resolves `.so`. + ### Changed - Regenerated bindings against upstream naming-convention renames (libBeresta PR #64). Six functions renamed on the FFI surface: