Sandbox doesn't install newer version of packages
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
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.
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.