fix: webapp-entrypoint.sh CI path bypasses contracts.env sourcing without documentation (#422)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d301f75523
commit
6c54a92657
1 changed files with 16 additions and 7 deletions
|
|
@ -3,17 +3,26 @@ set -euo pipefail
|
||||||
|
|
||||||
if [[ "${CI:-}" == "true" ]]; then
|
if [[ "${CI:-}" == "true" ]]; then
|
||||||
# ── CI path ────────────────────────────────────────────────────────
|
# ── CI path ────────────────────────────────────────────────────────
|
||||||
# In CI, contracts.env is NOT sourced here. Instead, the calling CI step
|
# NOTE: this block is NOT executed by the .woodpecker/e2e.yml pipeline.
|
||||||
# (.woodpecker/e2e.yml) sources contracts.env itself and exports
|
# Woodpecker runs the webapp image as a service with a `commands:` block,
|
||||||
# VITE_KRAIKEN_ADDRESS and VITE_STAKE_ADDRESS directly into the environment
|
# which replaces the Docker ENTRYPOINT entirely — dumb-init and this script
|
||||||
# before this entrypoint runs. The :? guards below enforce that those
|
# are bypassed. The e2e.yml commands block sources contracts.env and starts
|
||||||
# variables have been provided.
|
# `npm run dev` inline (see .woodpecker/e2e.yml, webapp service, ~line 129).
|
||||||
|
#
|
||||||
|
# This path fires only for manual invocations, e.g.:
|
||||||
|
# docker run -e CI=true \
|
||||||
|
# -e VITE_KRAIKEN_ADDRESS=0x... \
|
||||||
|
# -e VITE_STAKE_ADDRESS=0x... \
|
||||||
|
# webapp-ci
|
||||||
|
#
|
||||||
|
# VITE_KRAIKEN_ADDRESS and VITE_STAKE_ADDRESS must be supplied by the caller;
|
||||||
|
# they are not derived from contracts.env here.
|
||||||
cd /app/web-app
|
cd /app/web-app
|
||||||
|
|
||||||
echo "[webapp-ci] Starting Web App..."
|
echo "[webapp-ci] Starting Web App..."
|
||||||
|
|
||||||
: "${VITE_KRAIKEN_ADDRESS:?VITE_KRAIKEN_ADDRESS is required — set by .woodpecker/e2e.yml from contracts.env}"
|
: "${VITE_KRAIKEN_ADDRESS:?VITE_KRAIKEN_ADDRESS must be supplied by the caller (not sourced from contracts.env in this path)}"
|
||||||
: "${VITE_STAKE_ADDRESS:?VITE_STAKE_ADDRESS is required — set by .woodpecker/e2e.yml from contracts.env}"
|
: "${VITE_STAKE_ADDRESS:?VITE_STAKE_ADDRESS must be supplied by the caller (not sourced from contracts.env in this path)}"
|
||||||
|
|
||||||
# Disable Vue DevTools in CI to avoid path resolution issues
|
# Disable Vue DevTools in CI to avoid path resolution issues
|
||||||
export CI=true
|
export CI=true
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue