-
Notifications
You must be signed in to change notification settings - Fork 164
feat: part 1 .env changes #8636
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Code ReviewProfessionalism & Code Quality: ⭐⭐⭐⭐ (Good)Strengths:
Issues to Address:
E2E Testing:
|
begelundmuller
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving the backend changes
|
thanks! @ericpgreen2 tagged you for a final review! updated the e2e to expect the new variables and tested the env function |
Added 'aws_access_token' to the list of credentials and removed 'privateKey' for Snowflake.
ericpgreen2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issues
1. Test coverage gap
The new e2e tests (bigquery-connector.spec.ts, motherduck-connector.spec.ts) skip in CI because RILL_RUNTIME_GCS_TEST_GOOGLE_APPLICATION_CREDENTIALS_JSON is not passed to the web-test-e2e.yml workflow—it's only available in the Go test workflows.
This means the core logic (getGenericEnvVarName, findAvailableEnvVarName, makeDotEnvConnectorKey) has no automated test coverage in CI.
Two options:
- Option A: Add unit tests in
code-utils.spec.tsfor the pure functions. These don't require credentials and will run in CI. - Option B: Add the secret to
web-test-e2e.ymlso the existing e2e tests run.
2. Unused parameters should be removed
updateDotEnvWithSecrets at code-utils.ts:129 accepts _connectorInstanceName but never uses it. Callers still pass this value (e.g., submitAddDataForm.ts:305), but it's ignored.
Similarly, compileConnectorYAML accepts connectorInstanceName in its options (code-utils.ts:42), but only existingEnvBlob is used.
Future Work
After PR #8632 (Connectors JSON Schema) lands:
-
Add
x-env-var-nameto JSON Schema: Rather than hardcoding thegenericPropertiesset ingetGenericEnvVarName, each connector schema could specify its env var name explicitly. This makes the schema self-documenting and eliminates the maintenance burden of the hardcoded list. -
Clean up
compileConnectorYAML: The connector YAML generation logic will likely be rewritten to use the new JSON Schema infrastructure. Having test coverage ensures the behavior doesn't regress during that refactor.
Developed in collaboration with Claude Code
|
PART 2 of this PR will add fallback to OS level creds. In this case, we should add visual warnings to user that this is occurring. Thinking of adding yellow text state.
https://www.loom.com/share/c0b4e5fb20c449058c809b304c66a81b