Skip to content

CI: macOS packages build fails — Rust toolchain missing from macos-15-intel runner #436

@dkropachev

Description

@dkropachev

Summary

The build-packages / macOS packages CI job fails because the macos-15-intel GitHub Actions runner image no longer has Rust pre-installed.

Error

CMake Error at CMakeLists.txt:14 (enable_language):
  Experimental Rust support is not enabled.

CMake Error: CMAKE_Rust_COMPILER not set, after EnableLanguage

The failure occurs at the very first cmake configure step, before any project code is reached.

Reproduction

The failure is visible on PR #435 (run log) and also affected the last master push run (run ID 23190177631, March 17 — macOS job was cancelled).

PR #432 (merged March 17) passed on an older runner image (macos-15/20250313), but the current image (macos-15/20260330) no longer includes Rust.

Root Cause

The macOS job in .github/workflows/build-cpack-packages.yml only installs GNU make:

macos:
  name: macOS packages
  runs-on: macos-15-intel
  steps:
    - uses: actions/checkout@v4
    - name: Install GNU make
      run: brew install make
    - name: Build and test macOS packages (PKG + DMG)
      run: gmake test-package-macos

Unlike the Linux RPM job, it does not explicitly install the Rust toolchain. It relied on Rust being bundled in the runner image, which is no longer the case.

Suggested Fix

Add a Rust installation step before the build, similar to what the Linux RPM job does:

- name: Install Rust toolchain
  run: |
    curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
    echo "$HOME/.cargo/bin" >> $GITHUB_PATH

Affected Jobs

  • build-packages / macOS packages (build-cpack-packages.yml)

All other CI jobs (Linux DEB, Linux RPM, Windows, build+lint+unit tests) are unaffected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions