-
Notifications
You must be signed in to change notification settings - Fork 80
Replace ElDev with Eask #244
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
Conversation
|
Ah, reusing the That's awesome thanks! |
|
@joshbax189 did you get around to make the issue about |
|
Ah, actually the hack does not even work anymore: https://github.com/Silex/docker.el/actions/runs/18870745106/job/53848281237 |
|
Meh, the hack is still needed even tho the output is the same: https://github.com/Silex/docker.el/actions/runs/18871365025 Weird. |
|
Oh ok, using |
|
IIRC, the underlying issue is package.el ignoring version numbers in some cases:
The hack works by triggering the "install as a dependency" code path by including There is also an issue with Eask displaying the wrong installed version number, in this case the "already installed" line has the wrong version number. After poking it for a bit, I wasn't sure how I could sum it up in an issue that wouldn't devolve into a philosophical debate about what Eask should do: does it replicate package.el and what the package user would experience, or does it do exactly what the developer wants? OTOH, it is annoying... So, in summary:
|
|
@joshbax189 thanks! Out of curiosity, I recently switched from package.el to straight, and it was very _straight_forward 😉 Is this something we can maybe leverage to "simplify" this issue? Not a big deal, just curious. |
It is really nice isn't it! My gut feeling though, is that making the github action "too perfect" risks masking other issues that might come from A separate point is that straight is aimed at users not package developers, so using it within the GH action might be awkward. |
|
Ah, good points. Thanks, let's keep it like it is then. |
Closes #243
As you can see from the diffs, the replacement is quite straightforward. I like Eask because of all the tools it allows you to bootstrap with a single command. Also the dev is quite active.
Looks like the successful action's running time went from 1m 40s down to 1m using Eask.
Changes
silex/emacs:ver-ci-easkimage to cut out an install stepbyte-compile-warningssetting from eldev file to all filesEask doesn't have a script preamble file like eldev, but I think putting this in each file is cleaner as it silences the warnings for
users too.
Examples
Shows
--debugstack trace.Questions/Extra Comments
On the
hack:This is due to a quirk in
package-install. It seems to ignore built-in packages when explicitly requested (e.g.(package-install 'transient)does nothing), but does upgrade built-in packages when they are dependencies (e.g.(package-install 'docker)triggers an upgrade of built intransient).This was an issue for emacs 28, which has transient 0.3.7 built in.
Adding
dockeritself as a dependency (scoped to develop) and then manually uninstalling it leaves the environment intact. Since the dependencies are resolved bypackage.elanyway, the resulting installed dependencies match what we would expect by following the dependencies in the Eask file.In my opinion, the packages in
depends-onshould override the built-in packages so that the environment does match what you would get by running(package-install 'docker). I'll make an issue for that in the Eask repo.Let me know if there are any workflows from eldev that you use and I can find the Eask equivalent and maybe add them to the readme.
Cheers!