fix(ci+chat): drop docker buildx flags + style chat code blocks
Deploy marketing to Cloud Run / deploy (push) Failing after 2m27s
Deploy marketing to Cloud Run / deploy (push) Failing after 2m27s
CI: gitea runner ships docker without the buildx plugin, so
`docker buildx build --platform linux/amd64 --load` exits 125
("unknown flag: --platform") in both the full build (build-stage.sh)
and the asset-only fast path (deploy.yaml). Runner host is already
linux/amd64, so explicit --platform is redundant. Switch both call
sites to plain `docker build`. This unblocks the pipeline — every
run since the workflow was added (~26 runs) has failed at this
exact step.
Chat: the live chat bubble renders marked.parse() output via
innerHTML, but .demo-msg-ai .demo-msg-bubble only had CSS rules
for p/ul/ol/li/strong. Fenced code blocks rendered as <pre><code>
with no styling — they appeared as wrapped plaintext, hard to
distinguish from prose. Add rules for code (inline and block),
pre, blockquote, em, h1-h4, and a, mirroring the share-card
styling (which always had them) so chat code blocks finally get
the monospace + tinted-background treatment users expect.
This commit is contained in:
@@ -146,7 +146,11 @@ jobs:
|
||||
COPY src/assets /srv/landing/assets
|
||||
COPY src/shares /srv/landing/shares
|
||||
EOF
|
||||
docker buildx build --platform linux/amd64 --load \
|
||||
# Plain `docker build` — the gitea runner ships docker without
|
||||
# the buildx plugin, so `docker buildx build --platform ...`
|
||||
# exits 125 ("unknown flag: --platform"). The runner host is
|
||||
# already linux/amd64 so cross-platform isn't needed here.
|
||||
docker build \
|
||||
--build-arg BASE="$LATEST" \
|
||||
-f /tmp/Dockerfile.assets \
|
||||
-t "marketing:${{ steps.tag.outputs.tag }}" \
|
||||
|
||||
+8
-2
@@ -87,8 +87,14 @@ sed "${SED_INPLACE[@]}" \
|
||||
's|#include "el_runtime.h"|#include "el_runtime.h"\nel_val_t http_get_auth(el_val_t url, el_val_t tok);\nel_val_t http_post_auth(el_val_t url, el_val_t tok, el_val_t body);\nel_val_t http_post_auth_json(el_val_t url, el_val_t tok, el_val_t body);\nel_val_t http_delete_auth(el_val_t url, el_val_t bearer_tok, el_val_t apikey);\nel_val_t cwd(void);\nel_val_t color_bold(el_val_t s);\nel_val_t unix_timestamp(void);\nel_val_t gcs_write(el_val_t bucket, el_val_t object_name, el_val_t content);\nel_val_t gcs_read(el_val_t bucket, el_val_t object_name);\nel_val_t supabase_insert(el_val_t project_url, el_val_t service_key, el_val_t table, el_val_t row_json);\nel_val_t supabase_get(el_val_t project_url, el_val_t service_key, el_val_t table_and_query);\nel_val_t supabase_auth_user(el_val_t project_url, el_val_t anon_key, el_val_t user_jwt);\nel_val_t supabase_admin_invite(el_val_t project_url, el_val_t service_key, el_val_t body_json);\nel_val_t supabase_upsert_user(el_val_t project_url, el_val_t anon_key, el_val_t user_jwt, el_val_t table_and_query, el_val_t row_json);|' \
|
||||
dist/main.c
|
||||
|
||||
echo "==> Building Docker image marketing:${TAG} for linux/amd64"
|
||||
docker buildx build --platform linux/amd64 --load \
|
||||
echo "==> Building Docker image marketing:${TAG}"
|
||||
# Plain `docker build` — the gitea runner doesn't ship buildx, so
|
||||
# `docker buildx build --platform ...` exits 125 ("unknown flag:
|
||||
# --platform"). The runner host is already linux/amd64 so the
|
||||
# explicit --platform is redundant. BUILDKIT_INLINE_CACHE works with
|
||||
# plain docker as long as DOCKER_BUILDKIT=1 is set (default on the
|
||||
# runner).
|
||||
docker build \
|
||||
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
||||
--cache-from us-central1-docker.pkg.dev/neuron-785695/neuron-marketing/marketing:latest \
|
||||
-f Dockerfile.stage \
|
||||
|
||||
@@ -1603,6 +1603,53 @@ fn page_open() -> String {
|
||||
.demo-msg-ai .demo-msg-bubble ul, .demo-msg-ai .demo-msg-bubble ol { margin: 0.5rem 0 0.5rem 1.25rem; }
|
||||
.demo-msg-ai .demo-msg-bubble li + li { margin-top: 0.25rem; }
|
||||
.demo-msg-ai .demo-msg-bubble strong { font-weight: 600; }
|
||||
.demo-msg-ai .demo-msg-bubble em { font-style: italic; }
|
||||
.demo-msg-ai .demo-msg-bubble a { color: var(--navy); text-decoration: underline; }
|
||||
/* Code: marked.js emits <code> for inline backticks and <pre><code> for
|
||||
fenced blocks. Without these rules they render as unstyled inline
|
||||
text and the user can't tell where the code starts and stops. */
|
||||
.demo-msg-ai .demo-msg-bubble code {
|
||||
font-family: 'IBM Plex Mono', Menlo, Consolas, monospace;
|
||||
font-size: 0.85em;
|
||||
background: rgba(0, 0, 0, 0.06);
|
||||
padding: 1px 4px;
|
||||
border-radius: 3px;
|
||||
word-break: break-word;
|
||||
}
|
||||
.demo-msg-ai .demo-msg-bubble pre {
|
||||
background: rgba(0, 0, 0, 0.06);
|
||||
padding: 0.75rem;
|
||||
border-radius: 6px;
|
||||
overflow-x: auto;
|
||||
font-size: 0.85em;
|
||||
line-height: 1.5;
|
||||
margin: 0.5rem 0;
|
||||
max-width: 100%;
|
||||
white-space: pre;
|
||||
}
|
||||
.demo-msg-ai .demo-msg-bubble pre code {
|
||||
background: none;
|
||||
padding: 0;
|
||||
font-size: inherit;
|
||||
word-break: normal;
|
||||
}
|
||||
.demo-msg-ai .demo-msg-bubble blockquote {
|
||||
border-left: 3px solid var(--border);
|
||||
margin: 0.5rem 0;
|
||||
padding: 0.25rem 0 0.25rem 0.75rem;
|
||||
color: var(--t2);
|
||||
}
|
||||
.demo-msg-ai .demo-msg-bubble h1,
|
||||
.demo-msg-ai .demo-msg-bubble h2,
|
||||
.demo-msg-ai .demo-msg-bubble h3,
|
||||
.demo-msg-ai .demo-msg-bubble h4 {
|
||||
font-weight: 600;
|
||||
margin: 0.5rem 0 0.25rem;
|
||||
}
|
||||
.demo-msg-ai .demo-msg-bubble h1 { font-size: 1.05em; }
|
||||
.demo-msg-ai .demo-msg-bubble h2 { font-size: 1em; }
|
||||
.demo-msg-ai .demo-msg-bubble h3 { font-size: 0.95em; }
|
||||
.demo-msg-ai .demo-msg-bubble h4 { font-size: 0.9em; }
|
||||
.demo-msg-share {
|
||||
position: relative;
|
||||
margin-top: 0.375rem;
|
||||
|
||||
Reference in New Issue
Block a user