Commit Graph

13 Commits

Author SHA1 Message Date
will.anderson 5d5aaf2e23 fix(ci): use soul.c-first link with --allow-multiple-definition
Deploy Soul to GKE / deploy (push) Failing after 4m30s
Neuron Soul CI / build (push) Successful in 5m42s
Linux elb generates individual .c files; soul.c does not contain merged
imports (unlike macOS elb which produces a unified file). Re-link all
dist/*.c manually with soul.c listed first so its real main() wins, and
--allow-multiple-definition to silence GNU ld's duplicate symbol errors.
All duplicates are identical (same El source, different compile units).
2026-06-12 12:22:55 -05:00
will.anderson ef12c8587c fix(ci): link only soul.c to avoid GNU ld duplicate symbol errors
Deploy Soul to GKE / deploy (push) Failing after 5m12s
Neuron Soul CI / build (push) Failing after 5m46s
The El compiler inlines imported modules into each module's .c file.
On macOS, ld64 accepts duplicate strong symbols silently. On Linux,
GNU ld rejects them. soul.c is a fully merged file — every function
from every imported module is present in it — so linking only soul.c
against el_runtime.c produces a correct binary with no duplicates.
2026-06-12 12:15:42 -05:00
will.anderson 3b2bb5276d fix(ci): use foundation-prod, HTTPS el clone, main branch, fix runtime path
Deploy Soul to GKE / deploy (push) Failing after 5m3s
Neuron Soul CI / build (push) Failing after 5m30s
2026-06-11 13:26:24 -05:00
will.anderson 764250c4f6 fix(soul): repair CI — drop gpg/TTY and import safety/stewardship/imprint layers
Deploy Soul to GKE / deploy (push) Failing after 5m15s
Neuron Soul CI / build (push) Failing after 5m42s
2026-06-11 12:33:22 -05:00
will.anderson cc07648ae1 fix: build engram from source in Docker image
Deploy Soul to GKE / deploy (push) Failing after 29s
Neuron Soul CI / build (push) Successful in 1m15s
The engram binary was never published to Artifact Registry (foundation-dev/engram
package does not exist). Updated Dockerfile to build engram from source using the
El SDK packages (el-elc, el-runtime-c, el-runtime-h) from foundation-dev.

Also:
- Switch runtime base to Ubuntu 24.04 (GLIBC 2.39 required by elc-compiled binaries)
- Add -lm to engram link flags (el_runtime.c uses pow/sqrt/log/sin/cos/exp)
- Update deploy-gke.yaml to clone neuron-technologies/engram into build context
2026-05-11 12:39:36 -05:00
will.anderson e1a7c71a87 feat(gke): add Dockerfile, deploy scripts, and GKE CI workflow
Deploy Soul to GKE / deploy (push) Failing after 33s
Neuron Soul CI / build (push) Successful in 1m56s
Dockerfile: downloads linux/amd64 soul binary from Artifact Registry
(foundation-dev/neuron-soul) into ubuntu:22.04 runtime image.
Pushes to neuron-api Docker repo as neuron-soul:<sha>.

scripts/blue-green-deploy.sh: swaps active slot on GKE — sets image,
scales new slot to 1, flips service selector, scales old slot to 0.

scripts/seed-engram-gke.sh: downloads latest GCS backup, extracts
snapshot.json, copies into neuron-engram-data PVC via a seed Job.

.gitea/workflows/deploy-gke.yaml: triggers on push to main, auto-detects
idle slot, builds Docker image from Artifact Registry binary, blue-green
deploys to neuron-prod on GKE neuron-platform cluster.
2026-05-09 20:30:05 -05:00
will.anderson ea271d5cc6 ci: drop python3 dep — not used
Neuron Soul CI / build (push) Successful in 1m19s
2026-05-08 21:18:07 -05:00
will.anderson 7e183872a1 ci: use GITHUB_SHA for publish version (GITEA_SHA is not set)
Neuron Soul CI / build (push) Successful in 1m2s
2026-05-08 20:43:31 -05:00
will.anderson 336c143f29 ci: checkout foundation/el so soul.el import resolves in CI
Neuron Soul CI / build (push) Failing after 1m3s
2026-05-08 20:41:58 -05:00
will.anderson 62309488d7 ci: clear El SDK paths before downloading to avoid 'file exists' error
Neuron Soul CI / build (push) Failing after 43s
2026-05-08 20:38:26 -05:00
will.anderson 8906285692 ci: fix YAML parse error — replace Python heredoc with shell grep
Neuron Soul CI / build (push) Failing after 47s
2026-05-08 20:37:07 -05:00
will.anderson a6b071133f ci: add workflow_dispatch trigger 2026-05-08 20:30:50 -05:00
will.anderson 5e7bcf7440 ci: add neuron soul build pipeline
Downloads El SDK from Artifact Registry, generates ELP declarations header,
builds the neuron soul binary with elb, smoke-tests it, and publishes to
foundation-dev on push to main.
2026-05-08 20:29:07 -05:00