From 7a7f2970e5ee58dfa9780d321203f876ae315533 Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Sat, 2 May 2026 13:01:36 -0500 Subject: [PATCH] ci: build elc from dist/platform/elc.c with system curl/ssl headers elc-bootstrap.c isn't committed to engram-lang; the actual C source is dist/platform/elc.c. Add libcurl4-openssl-dev/libssl-dev install step so cc has the right headers. --- .gitea/workflows/deploy.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index cc7b903..517b260 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -74,16 +74,20 @@ jobs: - name: Configure docker auth for Artifact Registry run: gcloud auth configure-docker us-central1-docker.pkg.dev --quiet + - name: Install C build deps for elc + run: | + sudo apt-get update -qq + sudo apt-get install -y --no-install-recommends build-essential libcurl4-openssl-dev libssl-dev + - name: Build elc fresh on the runner run: | set -euo pipefail - # The committed dist/platform/elc may be from a different architecture - # (e.g. Will's macOS arm64 dev box). Compile from elc-bootstrap.c on - # the runner so the binary matches linux/amd64. + # The committed dist/platform/elc is arm64 from Will's mac. We + # rebuild from dist/platform/elc.c (the canonical C source) so + # the binary matches the runner's linux/amd64. cd "$EL_HOME" - mkdir -p dist/platform cc -O2 -o dist/platform/elc \ - dist/elc-bootstrap.c \ + dist/platform/elc.c \ el-compiler/runtime/el_runtime.c \ -I el-compiler/runtime \ -lcurl -lpthread -ldl -lm -lssl -lcrypto