Fix Docker build by temporarily disabling gleam_compile alias

The issue is that mix compile alias includes gleam_compile which fails.
This workaround temporarily comments out the compile alias in mix.exs,
runs the standard mix compile, then manually copies Gleam BEAM files.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Graham McIntire 2025-07-24 17:37:37 -05:00
parent 080b945a75
commit 3c4b06dd0c
No known key found for this signature in database

View file

@ -49,13 +49,17 @@ COPY priv/gleam priv/gleam
# Compile dependencies first (including vendor/aprs)
RUN mix deps.compile
# Copy Gleam BEAM files manually since gleam_compile task is failing
# Compile the application without running gleam_compile
# First, temporarily remove the compile alias from mix.exs
RUN sed -i 's/compile: \["gleam_compile", "compile"\],/# compile: ["gleam_compile", "compile"],/' mix.exs
# Now compile the full application
RUN mix compile
# Copy Gleam BEAM files manually after compilation
RUN mkdir -p _build/prod/lib/aprsme/ebin && \
cp priv/gleam/*.beam _build/prod/lib/aprsme/ebin/ || true
# Compile the main application and copy gleam files in the release task
RUN MIX_ENV=prod mix do compile.elixir
# Install Node.js for asset building
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install -y nodejs && \