I believe the root issue is a user name change on GitHub, from Skinney to robinheghan, which ends up changing the hashes for releases.
I sent some chats to @robin.heggelund of possible paths and how I can help if needed, but in the meantime, you can get your CI unstuck by placing the following directory on it:
~/.elm/0.19.1/packages/Skinney/murmur3/2.0.8
You should have this on your local development system.
Zip it up, and add a temporary line before you run any Elm stuff to place this directory on the CI machine.
CI Note: I very highly highly highly encourage people with CI to cache your ~/.elm directory from build to build. This will make you immune to DNS issues, GitHub downtime, or things like this scenario! That directory just contains (1) static files that have been downloaded and (2) the build artifacts they produce deterministically. The one thing that can go wrong is acquiring the files over HTTP!
Hashing Note: The current design for hashing was chosen under the assumption that hashes of GitHub zip files would be based strictly on the content of the files, but it appears that incidental information about how GitHub hosts things also makes its way into these hashes. It is stable in general, but certain things can knock it out of whack. So I’d like to switch how hashes are generated to an approach that takes longer, but cannot be tripped up by these details. This is an infrastructure that’s much larger than it sounds, but it is highest priority for any package work.
It looks like there’s some discussion of work arounds on Slack as well. I’m copying the content of this message from turbo_mack (with some edits for weird formatting issues)
Some of you who depend on great work of @Robin might experience some issues due to package.elm not liking the fact he changed his name on Github. While this issue is being resolved you can use this workaround to make CircleCI pass:
# within home
$ cd $HOME
# create tarball of ~/.elm
$ tar -czvf elm-cache.tar.gz .elm
# copy tarball to project
$ cp elm-cache.tar.gz my-project/directory
# commit tarball
in our case we use circle-ci but it should be easy to port
It appears that Robin has republished the packages under the new name, so it should now be possible to swap Skinney/murmur3 to robinheghan/murmur3 in your elm.json as well.
Ouch. I saw Robin’s PSA about the name change, but I didn’t consider that his projects could be indirect dependencies. Luckiy elm.json is flexible enough to make those deps into proper deps, at least temporarily.
Totally subjective, but it seems, like we currently get this every week. I think I saw three people mention in slack, that they renamed themselves on github, not sure why that’s so popular right now.