Commit graph

30 commits

Author SHA1 Message Date
Michiel Borkent
a9cc6e301e Bump to GraalVM 21.3.0 JVM 11 2021-11-04 11:01:41 +01:00
Bob
7df81f1273
make core.async and rewrite-clj integral (#1014)
* make core.async integral (not a feature)

tasks (in particular, parallel tasks) require core.async

* make rewrite_clj integral (not a feature)

* cleanup mistakes
2021-09-23 18:15:01 +02:00
Thiago Kenji Okada
9ca3a3bd31
Use Debian bullseye on CI/CD/Dockerfile (#1005)
* 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
2021-09-13 23:28:13 +02:00
Michael Glaesemann
125e227976
Java http insecure context (#994)
* Add support for creating insecure context.

* Add BABASHKA_FEATURE_JAVA_NET_HTTP flag.

* Clean up java.net.http tests
2021-08-31 17:37:11 +02:00
Michiel Borkent
cebdd19c00
Upgrade to GraalVM 21.2.0 2021-08-30 20:16:18 +02:00
Michiel Borkent
35103f40ef
Upgrade to graal 21.1, fixes #884 (#885) 2021-06-13 21:53:07 +02:00
Thiago Kenji Okada
14e053e0a3
Add BABASHKA_MUSL build variable (#834)
This allows building a Babashka binary using musl C libraries instead,
instead of hardcoding this accordingly to the CPU arch.
2021-05-11 00:10:11 +02:00
Michiel Borkent
562922a586 Fix order in Dockerfile 2021-05-10 23:25:01 +02:00
Michiel Borkent
798ec2e3d4 musl 2021-05-10 23:03:39 +02:00
Thiago Kenji Okada
ddc900a656
Build BABASHKA_STATIC with musl C library (#828)
* Build BABASHKA_STATIC with musl C library

Based on https://github.com/babashka/pod-babashka-aws/pull/37.

This is the recommended way to build static binaries with GraalVM by the
documentation and multiple issues on GitHub. See:

- https://www.graalvm.org/reference-manual/native-image/StaticImages/
- oracle/graal#571 (comment)

The reason that building a statically binary with glibc is complicated
is explained in the glib documentation:

https://sourceware.org/glibc/wiki/FAQ#Even_statically_linked_programs_need_some_shared_libraries_which_is_not_acceptable_for_me.__What_can_I_do.3F

* Bring back zlib1g-dev

Seems it is necessary for the non-static build.
2021-05-09 23:30:27 +02:00
Michiel Borkent
77daea7362
[#712] Upgrade to GraalVM 21.0.0 (#725) 2021-02-07 12:23:20 +01:00
Michiel Borkent
9a80a47cfa
[#653] Upgrade to GraalVM 20.3.0 2020-12-05 20:56:12 +01:00
Jakub Holy
41ede17be0
Docs: how to build in docker + features support (#643)
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`.
2020-11-14 23:05:08 +01:00
Hans Bugge Grathwohl
284c55a295
Dockerfile: Install curl to support babashka.curl (#614)
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
```
2020-10-14 17:40:52 +02:00
Michiel Borkent
781a3a875c [#604] Move Docker image to Ubuntu 2020-10-01 20:06:49 +02:00
Michiel Borkent
f89da080c3
[#561] Add org.httpkit.client namespace
This also bumps GraalVM to 20.2.0 and XCode to version 12
2020-09-18 21:32:08 +02:00
Michiel Borkent
8085d93e7f Dockerfile 2020-05-23 10:44:17 -03:00
Michiel Borkent
4e42729663 Fix docker 2020-04-28 12:12:56 +02:00
Michiel Borkent
3499310944
CircleCI config 2020-04-05 23:51:26 +02:00
Michiel Borkent
e3b075e3ab Docker: --no-cache 2020-03-08 17:53:24 +01:00
Michiel Borkent
3b42b9032c Fix Docker 2020-03-08 17:50:51 +01:00
Michiel Borkent
34be5b61f4 Include curl in Docker image 2020-03-08 17:38:08 +01:00
Michiel Borkent
92e5c4a432 Base Docker image on busybox, at least it has cat and tail 2020-02-28 18:08:05 +01:00
Rahuλ Dé
761e7995f7
Improve Dockerfile, add .dockerignore (#273) 2020-02-23 21:26:45 +01:00
Haokang Den
192e2676fc Using ubuntu:bionic (#262) 2020-02-10 09:57:36 +01:00
Michiel Borkent
55d1d2faf8 Revert 2020-02-09 23:37:01 +01:00
Michiel Borkent
ffb92bc8db Docker 2020-02-09 23:28:18 +01:00
Michiel Borkent
804a7d10c4 Fix path in Dockerfile 2020-02-09 23:07:14 +01:00
Michiel Borkent
1d6987c867 Docker: fix java path 2020-02-09 22:56:58 +01:00
Michiel Borkent
148e3c9229 Docker 2020-02-09 22:55:12 +01:00