Add self-contained GraalPy native executable

Build the app to a single native binary with graalpy's 'standalone
native' command (Dockerfile.native). granian/rloop cannot be bundled
into a standalone binary, so the executable serves the app over ASGI
with Hypercorn via native/entrypoint.py, which also works around
GraalPy standalone quirks (socket.listen, str response bodies, signal
handling).

Adds docker-compose.native.yml, a -native CI job, and README docs.
This commit is contained in:
2026-09-24 11:11:00 +00:00
parent 609d9e22a8
commit 4fa6c0cf2e
8 changed files with 326 additions and 3 deletions
+2
View File
@@ -16,7 +16,9 @@ build/
tests/
Dockerfile
Dockerfile.graalpy
Dockerfile.native
.dockerignore
opencode.json
docker-compose.yml
docker-compose.graalpy.yml
docker-compose.native.yml