Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions .github/workflows/_build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,23 @@ jobs:
# client. Both sides need the same shared secret to authenticate;
# without ROCKETRIDE_APIKEY the server raises AuthenticationException
# and the client tests fail with "No authentication configured".
# The secret value itself doesn't matter — it just has to match
# between server and client in this single CI run.
#
# Use a literal CI-only value rather than ${{ secrets.ROCKETRIDE_APIKEY }}.
# The original PR #712 wired this through a secret, but as its own
# inline comment noted, "the secret value itself doesn't matter — it
# just has to match between server and client in this single CI run."
# Sourcing it from a secret introduced an empty-string failure mode:
# when the secret is unset / cleared / rotated, the workflow silently
# passes ROCKETRIDE_APIKEY="" into the test step. The test client
# then picks that empty value up via os.getenv (which returns "" —
# not the MYAPIKEY default — when the variable is set-but-empty),
# and all 48 client-python integration tests fail uniformly with
# AuthenticationException. The literal below has no production
# significance — it never leaves the runner — and matches the
# documented "MYAPIKEY" placeholder used elsewhere in the codebase
# (.env.template, the engine's built-in dev key).
env:
ROCKETRIDE_APIKEY: ${{ secrets.ROCKETRIDE_APIKEY }}
ROCKETRIDE_APIKEY: MYAPIKEY
run: ${{ matrix.builder_cmd }} test --verbose -s

- name: Perform CodeQL Analysis
Expand Down
Loading