Skip to content

Package CTF as build/release artefact #18

@johmedr

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.

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