Skip to content

Add cmake, libclang-dev and a shared-library Python to the runner image #96

Open

Description

@Mearman

A Rust job that builds C/C++ sys crates (a coin-or solver crate through the cc crate, HiGHS through cmake and bindgen) currently installs cmake and libclang-dev with apt on every run, and downloads a CPython build because pyo3 links libpython into the test binary, and the image's Python 3.12 ships no shared library (the link fails with unable to find library -lpython3.12).

Observed per run: the apt install pulls libllvm, libclang and cmake-data, and the Python download is a separate fetch every time. Both are small next to the compile, but they are per-job fixed cost on every run of that job.

Adding cmake, libclang-dev and a CPython with its shared library (or a python3-dev equivalent) to the image would let those install steps be no-ops. The job's steps are guarded (command -v and ldconfig -p checks), so they stay portable to GitHub-hosted runners either way.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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