From e78ec784710e0a52d8a15ceae238ed3cee96d803 Mon Sep 17 00:00:00 2001 From: Bilal Godil Date: Tue, 16 Jun 2026 18:12:36 -0700 Subject: [PATCH] Fix local-emulator e2e: use canonical HEXCLAVE_ var to avoid dual-read conflict The dashboard build inlines both NEXT_PUBLIC_HEXCLAVE_* and NEXT_PUBLIC_STACK_* spellings and throws when they're set to different non-empty values. The job set the legacy NEXT_PUBLIC_STACK_IS_LOCAL_EMULATOR=true while the dashboard commits NEXT_PUBLIC_HEXCLAVE_IS_LOCAL_EMULATOR=false in .env.development, so every build crashed on the conflict check. Set the canonical NEXT_PUBLIC_HEXCLAVE_IS_LOCAL_EMULATOR=true instead: the job-level value overrides the committed default (process.env wins over dotenv) and leaves no conflicting STACK_ twin. --- .github/workflows/e2e-api-tests-local-emulator.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-api-tests-local-emulator.yaml b/.github/workflows/e2e-api-tests-local-emulator.yaml index c4c302257..1cf727259 100644 --- a/.github/workflows/e2e-api-tests-local-emulator.yaml +++ b/.github/workflows/e2e-api-tests-local-emulator.yaml @@ -17,7 +17,12 @@ jobs: runs-on: ubicloud-standard-8 env: NODE_ENV: test - NEXT_PUBLIC_STACK_IS_LOCAL_EMULATOR: "true" + # Use the canonical HEXCLAVE_ name: the dashboard commits a differing + # NEXT_PUBLIC_HEXCLAVE_IS_LOCAL_EMULATOR=false in .env.development, and the + # dual-read conflict check throws if both spellings are set to different + # values. Setting the canonical name here overrides that committed default + # (process.env wins over dotenv) without leaving a conflicting STACK_ twin. + NEXT_PUBLIC_HEXCLAVE_IS_LOCAL_EMULATOR: "true" STACK_ENABLE_HARDCODED_PASSKEY_CHALLENGE_FOR_TESTING: yes STACK_DATABASE_CONNECTION_STRING: "postgres://postgres:PASSWORD-PLACEHOLDER--uqfEC1hmmv@localhost:8128/stackframe" STACK_EXTERNAL_DB_SYNC_MAX_DURATION_MS: "20000"