makem.sh icon indicating copy to clipboard operation
makem.sh copied to clipboard

Sandbox doesn't install newer version of packages

Open jethrokuan opened this issue 5 years ago • 2 comments

One behaviour I noticed during the sandbox setup is that if the package ships with Emacs, the version indicated in the Package-Requires header is not installed.

This is particularly problematic for org:

https://github.com/jethrokuan/org-roam/runs/524371689

'org' is already installed

jethrokuan avatar Mar 21 '20 18:03 jethrokuan

Yes, Org is always a problem when it comes to testing, because of its being distributed with Emacs, on ELPA, and from Org's own repo. Then there are versions packaged on Guix, etc. Then there's the org-plus-contrib package (which is being deprecated, finally).

Unfortunately it's not simple to ask package-install to install a certain version of a package, or even the latest available version. AFAIK, to do this from makem.sh, we'd have to write our own code to search package-alist, pick a certain or the latest version of a package, and pass the struct to package-install. Then we'd have to figure out how to expose that functionality through makem.sh.

All of that feels like more complexity than I want to add to makem.sh. If you need to test a certain version of a package, you can do something like ./makem.sh --sandbox .sandbox --install-deps --install-linters interactive, then you can use Emacs interactively to install the version you need (which will go into that sandbox), and then you can run, e.g. ./makem.sh -s.sandbox test to test with that version.

What do you think? Thanks.

alphapapa avatar Mar 22 '20 01:03 alphapapa

If you need to test a certain version of a package, you can do something like ./makem.sh --sandbox .sandbox --install-deps --install-linters interactive, then you can use Emacs interactively to install the version you need (which will go into that sandbox), and then you can run, e.g. ./makem.sh -s.sandbox test to test with that version.

This is all fine on the local machine, but I'd like to run my tests on the CI, so interactively upgrading the version isn't really an option.

jethrokuan avatar Mar 22 '20 03:03 jethrokuan