* Replace mkdir with WORKDIR
* Remove unnecessary package list
* Remove graalvm removal in the base image
This could speed up local builds since we don't need to download it
every time
* Remove package information
* Remove the downloaded apk
* Add a changelog entry
* Revert WORKDIR changes
* make core.async integral (not a feature)
tasks (in particular, parallel tasks) require core.async
* make rewrite_clj integral (not a feature)
* cleanup mistakes
* 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
1. Explain how to build `bb` for linux using docker.
2. Add support for setting the various `BABASHKA_FEATURE_*`
when doing docker build via `--build-arg`.
With the current Ubuntu based docker image it is not possible to use
babashka.curl:
```
> docker run --rm -it borkdude/babashka:0.2.3-SNAPSHOT bb '(-> "https://httpstat.us/200" babashka.curl/get :status)'
----- Error --------------------------------------------------------------------
Type: java.io.IOException
Message: Cannot run program "curl": error=2, No such file or directory
Location: <expr>:1:1
----- Context ------------------------------------------------------------------
1: (-> "https://httpstat.us/200" babashka.curl/get :status)
^--- Cannot run program "curl": error=2, No such file or directory
----- Stack trace --------------------------------------------------------------
babashka.curl/get - <built-in>
user - <expr>:1:1
```
After this change it works:
```
> docker run --rm -it hansbugge/babashka bb '(->
"https://httpstat.us/200" babashka.curl/get :status)'
200
```