Closed LiberalArtist closed 3 years ago
Using "full" rather than minimal Racket helped with a different error in https://github.com/LiberalArtist/_-exp/commit/7bc80bb, but https://github.com/LiberalArtist/icns/commit/b74257dd2122e2eea4d22fc2c6dfb21bd39e8a30 failed on Racket 6.5 in the same way: here are the logs.
But maybe you just haven't intended to support such old versions of Racket: I just migrated https://github.com/LiberalArtist/icns/commit/8a26ebbff2e4083eebe9e91942c0683d2f38fc58, which built against everything since Racket 6.1 on Travis, and setup-racket
couldn't download Racket 6.1.
I see now that @greghendershott wrote in https://github.com/Bogdanp/setup-racket/issues/15#issuecomment-733929477:
I think yours might work back to 6.5. At least, from glancing at install-racket.sh that is where there was a URL change (and more for even older Rackets). Honestly, maintaining that I felt more like a domain name server or old-school Yahoo index maintainer, than anything else. :)
Anyway, for my own projects, I'm not sure I need to go older than 6.9.
If that's the case, it's not a problem for me to just drop these antique versions. In my packages, I always develop against the latest stable Racket: I don't "support" any old versions in the sense of refraining from using new features to maintain compatibility. I build against old versions in CI mostly to tell me to update my ["base" #:version ...]
dependency if I've broken compatibility without realizing it.
I see that Debian stable packages Racket 7.2, and even Debian oldstable has Racket 6.7: it seems like going back much further than that probably has rapidly diminishing returns for the effort. It was far from the scale of yours or Greg's, but maintaining a low-key download-racket.sh
for AppVeyor (which I haven't actually used in a while) gave me at least a little sense of the thicket of complications that grows ever more dense the further back one ventures in Racket history.
I think the SSL issue with 6.5 might be caused by some misconfiguration of SSL within that particular build that happens to still work on old versions of Ubuntu, but won't work on more recent ones. I have a vague memory of investigating this at some point, but I don't remember all the details. I could be wrong, but I think the Travis build you linked to is running on Ubuntu 16.04 based on the GCC blurb:
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
so that may explain the difference here.
Racket 6.5 is already 5 years old now (released in April 2016) so I think there's probably not much benefit in supporting older versions than it (especially since that would require supporting yet another URL versioning scheme, like Greg mentioned).
That sounds reasonable. I pruned my builds to 6.7 and up, and everything's working nicely now. (Racket 6.6 might work, too: I didn't check.) For the couple packages that even can build with Racket older than that, I've left my .travis.yml
to build against only those very old versions. Maybe however many free Travis minutes I have left will even be enough to last until I break compatibility anyway :)
I'm happy for you to close this now.
Maybe setup-racket
could give a warning or error on versions it knows it doesn't support, though?
Thanks again for maintaining this! I'd been putting off dealing with the necessary CI transition, but this has been about as quick and painless as I could have hoped.
Maybe setup-racket could give a warning or error on versions it knows it doesn't support, though?
This is a good idea. I've changed the action in v1.4 to fail with a descriptive error on known bad versions.
Thanks again for maintaining this! I'd been putting off dealing with the necessary CI transition, but this has been about as quick and painless as I could have hoped.
Glad to hear it!
I am finally moving my CI setup over from
travis-racket
—thanks for all your work on this!Apparently I still support Racket 6.5 for my package
icns
. However, my Github Actions job for Racket 6.5 failed with this error:I have absolutely no idea what's going wrong—it may have nothing to do with
setup-racket
—but, since the Travis job for Racket 6.5 passed, it seems to have something to do with Github Actions.