Commit Graph

12 Commits

Author SHA1 Message Date
Will Anderson baba6fbb71 ci: add asset-only fast path (<5min for PNG changes)
Deploy marketing to Cloud Run / deploy (push) Has been cancelled
- Detect asset-only changes (src/assets/, src/shares/, static HTML, llms.txt)
  and skip El compilation, C build deps, and Docker full build entirely
- Fast path pulls :latest as base and rebuilds only the assets layer
- Gate clone-el, install-C-deps, elc-cache, build-elc, build-image, push-image
  behind asset_only != 'true'; deploy steps run unconditionally
- Switch build-stage.sh from registry cache driver (requires docker-container
  buildx driver) to inline cache backed by :latest — compatible with default
  docker driver on the runner
2026-05-02 18:08:43 -05:00
Will Anderson b83504c837 ci: raise timeout to 60min for cold elc cache warm-up
Deploy marketing to Cloud Run / deploy (push) Has been cancelled
2026-05-02 17:31:49 -05:00
Will Anderson a185b8ae69 ci: cache elc binary + Docker layers, asset changes from 42min to ~5min
Deploy marketing to Cloud Run / deploy (push) Has been cancelled
- deploy.yaml: restore elc from GCS (gs://neuron-ci-cache) keyed on
  source SHA; only compile on cache miss, then upload for future runs
- Dockerfile.stage: pre-compile el_runtime.o as its own layer so the
  expensive object is cached when only main.c changes between runs
- build-stage.sh: add --cache-from/--cache-to pointing at Artifact
  Registry so apt-get + compilation layers survive across cold builds
2026-05-02 17:30:18 -05:00
Will Anderson 5bf7b18f06 ci: update el repo clone URL (engram-lang renamed to el)
Deploy marketing to Cloud Run / deploy (push) Has been cancelled
2026-05-02 15:14:34 -05:00
Will Anderson 7a7f2970e5 ci: build elc from dist/platform/elc.c with system curl/ssl headers
Deploy marketing to Cloud Run / deploy (push) Has been cancelled
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.
2026-05-02 13:01:36 -05:00
Will Anderson 138e1cde64 ci: compile elc from elc-bootstrap.c instead of looking for build.sh
Deploy marketing to Cloud Run / deploy (push) Failing after 10s
engram-lang doesn't have a build.sh in its tree; bootstrap is via
dist/elc-bootstrap.c + el-compiler/runtime/el_runtime.c.
2026-05-02 13:00:45 -05:00
Will Anderson 483408611c ci: always rebuild elc on the runner (committed binary may be cross-arch)
Deploy marketing to Cloud Run / deploy (push) Failing after 10s
The committed dist/platform/elc was an arm64 binary from the local dev
box; runner is linux/amd64 and got 'cannot execute binary file: Exec
format error'. Always rebuild.
2026-05-02 12:59:46 -05:00
Will Anderson 654b977796 ci: fall back to GCP_SA_KEY (Gitea doesn't inject OIDC request token)
Deploy marketing to Cloud Run / deploy (push) Failing after 1m2s
Gitea Actions doesn't currently inject ACTIONS_ID_TOKEN_REQUEST_TOKEN /
ACTIONS_ID_TOKEN_REQUEST_URL into job env, so google-github-actions/auth
can't mint a federated token. The WIF infrastructure stays in Terraform
so we can flip back once that gap closes; the JSON key in GCP_SA_KEY is
the working path today.
2026-05-02 12:58:06 -05:00
Will Anderson 00a63a202c ci: replace second actions/checkout with raw git clone for engram-lang
Deploy marketing to Cloud Run / deploy (push) Failing after 5s
act_runner v0.6 host-mode hits a 'permission denied' error on
.git/objects/pack/*.idx when running two checkout steps in the same
job. Drop down to a plain git clone of engram-lang and pin EL_HOME
outside the workspace.
2026-05-02 12:57:25 -05:00
Will Anderson 4629796a75 ci: use CHECKOUT_TOKEN repo secret for cross-repo engram-lang checkout
Deploy marketing to Cloud Run / deploy (push) Failing after 6s
The auto-issued GITHUB_TOKEN is scoped to the current repo only, so
cross-repo actions/checkout needs an explicit token. CHECKOUT_TOKEN
holds an admin-scoped Gitea API token; long-term we should switch to
a dedicated read-only PAT.
2026-05-02 12:54:35 -05:00
Will Anderson 248ff89230 ci: use GITHUB_TOKEN for cross-repo engram-lang checkout
Deploy marketing to Cloud Run / deploy (push) Failing after 37s
Gitea Actions auto-issues GITHUB_TOKEN per workflow run; the previous
GITEA_TOKEN reference evaluated to literal text and broke the checkout.
2026-05-02 12:52:49 -05:00
Will Anderson b29ac61005 ci: add Gitea Actions deploy workflow for Cloud Run
Deploy marketing to Cloud Run / deploy (push) Failing after 28s
Push to main triggers build-stage.sh, push to Artifact Registry,
parallel deploy to all 3 marketing prod regions, traffic flip,
verify. Auth via Workload Identity Federation against the
Gitea OIDC provider — no long-lived keys on the runner.

Falls back to GCP_SA_KEY repo secret if WIF doesn't work end
to end against this Gitea instance.
2026-05-02 12:44:51 -05:00