* Migrate `Dockerfile` to use a bullseye-based image
Also, some QoL changes on the `Dockerfile`:
- Parametrize GRAALVM_VERSION to make it easier to update
- Remove installing programs already included on base image
- Remove `deps.edn` from `.dockerignore` since it is necessary to build
* Migrate CircleCI to use a bullseye-based image
Also some modifications necessary to make it work:
- Migrate from `circleci` images to `clojure` since they're out-of-date
and also seem to be considered legacy:
https://circleci.com/docs/2.0/circleci-images/#legacy-language-images
- Remove unnecessary usage of `sudo`, since all commands runs as root
- Sync packages with `Dockerfile`. This will make easier to test locally
if everything will work (of course, it is not 100% guarantee)
* Remove lsof
* Remove "Install {Clojure,Leiningen}" steps
Already included on the base image.
* Do not change directory when downloading GraalVM
* Move "Download GraalVM" to script/download-graalvm
* Set GRAALVM_HOME correctly
* Unbreak mac build
* Revert "Set GRAALVM_HOME correctly"
This reverts commit 5e2a6158dc.
* Set GRAALVM_HOME correctly, take 2
* Improve download-graalvm script
* Re-added "Install Clojure" steps
* Set amd64 as default GRAALVM_ARCH
* Unbreak linux-aarch64
* Ubreak jvm
* Do not change directory
* Fix yaml
* Fix mac/linux-aarch64
* Add missing Clojure
* Fix cache
* Move GraalVM installation to /tmp
* Use script/install-clojure
* Use /opt instead of /tmp to install GraalVM
* Revert "Use /opt instead of /tmp to install GraalVM"
This reverts commit 3cfad03c8e.
* Use CircleCI's Clojure images again
* Go back to installing GraalVM on $HOME
Now that bullseye was released, Debian is starting to make bigger
changes on unstable. To avoid breakage, let's use musl from bullseye
that is the correct version that we were using until now (1.22-1):
https://packages.debian.org/bullseye/musl-tools
Eventually a better solution would be to simply use Debian bullseye to
compile everything, however the official Clojure image from Docker is
still using stretch. So this is a temporary solution until them.