ci: restore El SDK v1.2.1 release download (repo clone uses incompatible elc)

This commit is contained in:
2026-05-05 11:33:04 -05:00
parent b5eecc94ff
commit 2854b89e35
3 changed files with 38 additions and 16 deletions
+8 -4
View File
@@ -80,7 +80,8 @@ jobs:
git clone --depth 1 \ git clone --depth 1 \
"https://will:${CHECKOUT_TOKEN}@git.neuralplatform.ai/neuron-technologies/el.git" \ "https://will:${CHECKOUT_TOKEN}@git.neuralplatform.ai/neuron-technologies/el.git" \
"$DEST" "$DEST"
echo "EL_HOME=$DEST/lang" >> "$GITHUB_ENV" ls -la "$DEST" | head -5
echo "EL_HOME=$DEST" >> "$GITHUB_ENV"
- name: Authenticate to GCP - name: Authenticate to GCP
id: auth id: auth
@@ -103,12 +104,15 @@ jobs:
- name: Configure docker auth for Artifact Registry - name: Configure docker auth for Artifact Registry
run: gcloud auth configure-docker us-central1-docker.pkg.dev --quiet run: gcloud auth configure-docker us-central1-docker.pkg.dev --quiet
- name: Get elc (pre-built linux/amd64 from El repo) - name: Get elc (pre-built linux/amd64 from El SDK release)
if: steps.changetype.outputs.asset_only != 'true' if: steps.changetype.outputs.asset_only != 'true'
run: | run: |
set -euo pipefail set -euo pipefail
chmod +x "$EL_HOME/dist/platform/elc-linux-amd64" curl -fL -o "$EL_HOME/dist/platform/elc" \
ln -sf "$EL_HOME/dist/platform/elc-linux-amd64" "$EL_HOME/dist/platform/elc" https://git.neuralplatform.ai/neuron-technologies/el/releases/download/v1.2.1/elc-linux-amd64
chmod +x "$EL_HOME/dist/platform/elc"
file "$EL_HOME/dist/platform/elc"
ls -la "$EL_HOME/dist/platform/elc"
- name: Compute image tag - name: Compute image tag
id: tag id: tag
+16 -9
View File
@@ -34,19 +34,20 @@ jobs:
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Set up El SDK - name: Set up El SDK from release
env: env:
CHECKOUT_TOKEN: ${{ secrets.CHECKOUT_TOKEN }} CHECKOUT_TOKEN: ${{ secrets.CHECKOUT_TOKEN }}
run: | run: |
set -euo pipefail set -euo pipefail
DEST="${{ github.workspace }}/../foundation-el" EL_HOME="${{ github.workspace }}/../foundation-el"
git clone --depth=1 \ mkdir -p "$EL_HOME/dist/platform" "$EL_HOME/el-compiler/runtime"
"https://will:${CHECKOUT_TOKEN}@git.neuralplatform.ai/neuron-technologies/el.git" \ BASE_URL="https://git.neuralplatform.ai/neuron-technologies/el/releases/download/v1.2.1"
"$DEST" curl -fL -H "Authorization: token ${CHECKOUT_TOKEN}" -o "$EL_HOME/dist/platform/elc" "$BASE_URL/elc-linux-amd64"
# Use the pre-built linux/amd64 binary — no C compilation needed in CI. curl -fL -H "Authorization: token ${CHECKOUT_TOKEN}" -o "$EL_HOME/el-compiler/runtime/el_runtime.c" "$BASE_URL/el_runtime.c"
chmod +x "$DEST/lang/dist/platform/elc-linux-amd64" curl -fL -H "Authorization: token ${CHECKOUT_TOKEN}" -o "$EL_HOME/el-compiler/runtime/el_runtime.h" "$BASE_URL/el_runtime.h"
ln -sf "$DEST/lang/dist/platform/elc-linux-amd64" "$DEST/lang/dist/platform/elc" curl -fL -H "Authorization: token ${CHECKOUT_TOKEN}" -o "$EL_HOME/el-compiler/runtime/el_runtime.js" "$BASE_URL/el_runtime.js"
echo "EL_HOME=$DEST/lang" >> "$GITHUB_ENV" chmod +x "$EL_HOME/dist/platform/elc"
echo "EL_HOME=$EL_HOME" >> "$GITHUB_ENV"
- name: Authenticate to GCP - name: Authenticate to GCP
uses: google-github-actions/auth@v2 uses: google-github-actions/auth@v2
@@ -66,6 +67,9 @@ jobs:
run: echo "tag=dev-${GITHUB_SHA:0:8}" >> "$GITHUB_OUTPUT" run: echo "tag=dev-${GITHUB_SHA:0:8}" >> "$GITHUB_OUTPUT"
- name: Touch HTML placeholder files - name: Touch HTML placeholder files
# El binary regenerates these at startup via fs_write. They must exist
# in the build context for Dockerfile COPY to succeed. touch is
# idempotent if the files already exist from a prior run.
run: touch src/index.html src/about.html src/terms.html src/enterprise-terms.html run: touch src/index.html src/about.html src/terms.html src/enterprise-terms.html
- name: Build image (local only — no push) - name: Build image (local only — no push)
@@ -83,6 +87,8 @@ jobs:
-e LANDING_ROOT=/srv/landing \ -e LANDING_ROOT=/srv/landing \
"$IMAGE" "$IMAGE"
# entrypoint.sh sleeps 4s for soul-demo to load before starting neuron-web.
# Poll up to 45s total.
for i in $(seq 1 15); do for i in $(seq 1 15); do
STATUS=$(curl -sSo /dev/null -w "%{http_code}" --max-time 5 http://localhost:8080/ || echo "000") STATUS=$(curl -sSo /dev/null -w "%{http_code}" --max-time 5 http://localhost:8080/ || echo "000")
echo "Attempt $i/15: HTTP $STATUS" echo "Attempt $i/15: HTTP $STATUS"
@@ -99,3 +105,4 @@ jobs:
docker stop dev-smoke && docker rm dev-smoke || true docker stop dev-smoke && docker rm dev-smoke || true
echo "Dev smoke test FAILED" echo "Dev smoke test FAILED"
exit 1 exit 1
+14 -3
View File
@@ -78,7 +78,7 @@ jobs:
git clone --depth 1 \ git clone --depth 1 \
"https://will:${CHECKOUT_TOKEN}@git.neuralplatform.ai/neuron-technologies/el.git" \ "https://will:${CHECKOUT_TOKEN}@git.neuralplatform.ai/neuron-technologies/el.git" \
"$DEST" "$DEST"
echo "EL_HOME=$DEST/lang" >> "$GITHUB_ENV" echo "EL_HOME=$DEST" >> "$GITHUB_ENV"
- name: Authenticate to GCP - name: Authenticate to GCP
uses: google-github-actions/auth@v2 uses: google-github-actions/auth@v2
@@ -97,8 +97,19 @@ jobs:
if: steps.changetype.outputs.asset_only != 'true' if: steps.changetype.outputs.asset_only != 'true'
run: | run: |
set -euo pipefail set -euo pipefail
chmod +x "$EL_HOME/dist/platform/elc-linux-amd64" # Copy the El C-compiler binary from the cloned El repo into the expected path.
ln -sf "$EL_HOME/dist/platform/elc-linux-amd64" "$EL_HOME/dist/platform/elc" # The JS-capable elc for client-side compilation is committed in bin/elc-linux-amd64
# and used automatically by build-stage.sh on linux/amd64.
ELC_SRC="$EL_HOME/dist/platform/elc-linux-amd64"
if [ -f "$ELC_SRC" ]; then
cp "$ELC_SRC" "$EL_HOME/dist/platform/elc"
chmod +x "$EL_HOME/dist/platform/elc"
else
# Fallback: download v1.2.1 C-compiler if the repo binary is absent
curl -fL -o "$EL_HOME/dist/platform/elc" \
https://git.neuralplatform.ai/neuron-technologies/el/releases/download/v1.2.1/elc-linux-amd64
chmod +x "$EL_HOME/dist/platform/elc"
fi
- name: Compute image tag - name: Compute image tag
id: tag id: tag