Skip to content

Package CTF as build/release artefact #18

Description

@johmedr

For now, the CTF archive that contains the compiled version of SPM is included in the repo. In the future, this should be avoided as it will lead to repo being oversized. An alternative, cleaner approach would be to compile the CTF file in a GitHub action and attach it an build or release artefact. We then need a clean way to manage and install versions of the runtime to match (potentially several) Matlab version(s), following #11.

Among possible approaches, we could:

  • release the compiled runtime as an additional Python package on the Python Package Index, using versioning in package name (e.g., spm-runtime-2023a) or hijacking package version (spm-runtime=2023a).
    • Pros: integrated with pip, can be added as a dependency to spm-python to install the latest Matlab by default,
    • Cons: user needs to sort out the version of their Matlab Runtime to install the right package, and requires virtualenv or similar to manage multiple versions if hijacking package version.
  • write an installation script that fetches the CTF artefact from GitHub, e.g, by packaging _spm in a wheel and using pip install [link to wheel] or by wgeting the CTF file.
    • Pros: Can detect Matlab Runtime version and install the appropriate SPM archive, can be done at install (e.g. run spm-python init after pip install), can handle explicit Runtime version (e.g., run spm-python init --matlab=2023a)
    • Cons: needs maintenance.

Activity

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions