Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package CTF as build/release artefact #18

Open
johmedr opened this issue Dec 20, 2024 · 0 comments
Open

Package CTF as build/release artefact #18

johmedr opened this issue Dec 20, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@johmedr
Copy link
Collaborator

johmedr commented Dec 20, 2024

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.
@johmedr johmedr self-assigned this Dec 20, 2024
@johmedr johmedr added the enhancement New feature or request label Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant