prop/.forgejo
Graham McIntire 08175fc6ae
Some checks failed
Build CI test image / Build and push CI image (push) Failing after 3m9s
Build and Push / Build and Push Docker Image (push) Has been cancelled
feat: precompile EXLA in CI base image to prevent OOM kills
Add Dockerfile.ci that extends the hexpm/elixir image with precompiled
EXLA NIF cached at ~/.cache/xla/. When mix test runs, EXLA's cached_make
finds the precompiled libexla.so and skips the OOM-prone g++ C++
compilation entirely.

- Dockerfile.ci: two-stage build — builder compiles EXLA into cache;
  final stage copies the cache and installs test deps (cdo)
- .forgejo/workflows/build-ci-image.yaml: builds and pushes prop-ci
  image on mix.exs/mix.lock/vendor changes + weekly cron
- .forgejo/workflows/build.yaml: test step uses prop-ci:latest instead
  of raw hexpm/elixir image, removing apt-get + hex/rebar install steps
2026-08-05 09:13:50 -05:00
..
workflows feat: precompile EXLA in CI base image to prevent OOM kills 2026-08-05 09:13:50 -05:00