-
Notifications
You must be signed in to change notification settings - Fork 295
fix: Add missing source command in Makefile install-docs-deps target #5060
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
Conversation
The install-docs-deps target was missing the 'source' command before $(VENV_BIN)/activate, causing "Permission denied" errors when running make docs. This makes it consistent with other targets in the Makefile that correctly use 'source' to activate the virtual environment.
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.
Greptile Summary
This PR fixes a critical shell scripting error in the Makefile's install-docs-deps
target. The issue was that the target was attempting to execute the virtual environment activation script directly ($(VENV_BIN)/activate
) instead of sourcing it into the current shell environment. In Unix/Linux shell scripting, virtual environment activation scripts must be sourced (not executed) to properly modify the current shell's environment variables and PATH.
The fix adds the missing source
command before the activation script path, changing:
$(VENV_BIN)/activate && uv sync --all-extras --all-groups
To:
source $(VENV_BIN)/activate && uv sync --all-extras --all-groups
source $(VENV_BIN)/activate && uv pip install -e docs/plugins/nav_hide_children
This change brings the install-docs-deps
target into consistency with other Makefile targets like hooks
, check-format
, and lint
that already correctly use source $(VENV_BIN)/activate
. The Makefile is a central build automation tool in the Daft repository that handles various development tasks including building, testing, and documentation generation. This fix ensures that the documentation build pipeline (make docs
) works correctly by resolving the dependency installation step that was previously failing with "Permission denied" errors.
Confidence score: 5/5
- This PR is extremely safe to merge with no risk of breaking anything
- Score reflects a simple, well-understood shell scripting fix that resolves a clear functional issue
- No files require special attention as this is a straightforward syntax correction
1 file reviewed, no comments
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5060 +/- ##
==========================================
- Coverage 76.55% 75.25% -1.31%
==========================================
Files 947 948 +1
Lines 129874 133054 +3180
==========================================
+ Hits 99430 100131 +701
- Misses 30444 32923 +2479 🚀 New features to boost your workflow:
|
…ventual-Inc#5060) ## Changes Made Fixed missing `source` command in the `install-docs-deps` target that was causing "Permission denied" errors when running `make docs`. ## Problem The `install-docs-deps` target was trying to execute the activate script directly instead of sourcing it: ```makefile $(VENV_BIN)/activate && uv sync --all-extras --all-groups ``` This resulted in permission denied errors because the shell was attempting to execute the script rather than source it into the current environment. ## Solution Added the missing `source` command to be consistent with other targets in the Makefile: ```makefile source $(VENV_BIN)/activate && uv sync --all-extras --all-groups source $(VENV_BIN)/activate && uv pip install -e docs/plugins/nav_hide_children ``` This change makes the `install-docs-deps` target consistent with other targets like `hooks`, `check-format`, `lint`, etc. that correctly use `source $(VENV_BIN)/activate`.
…ventual-Inc#5060) ## Changes Made Fixed missing `source` command in the `install-docs-deps` target that was causing "Permission denied" errors when running `make docs`. ## Problem The `install-docs-deps` target was trying to execute the activate script directly instead of sourcing it: ```makefile $(VENV_BIN)/activate && uv sync --all-extras --all-groups ``` This resulted in permission denied errors because the shell was attempting to execute the script rather than source it into the current environment. ## Solution Added the missing `source` command to be consistent with other targets in the Makefile: ```makefile source $(VENV_BIN)/activate && uv sync --all-extras --all-groups source $(VENV_BIN)/activate && uv pip install -e docs/plugins/nav_hide_children ``` This change makes the `install-docs-deps` target consistent with other targets like `hooks`, `check-format`, `lint`, etc. that correctly use `source $(VENV_BIN)/activate`.
Changes Made
Fixed missing
source
command in theinstall-docs-deps
target that was causing "Permission denied" errors when runningmake docs
.Problem
The
install-docs-deps
target was trying to execute the activate script directly instead of sourcing it:This resulted in permission denied errors because the shell was attempting to execute the script rather than source it into the current environment.
Solution
Added the missing
source
command to be consistent with other targets in the Makefile:This change makes the
install-docs-deps
target consistent with other targets likehooks
,check-format
,lint
, etc. that correctly usesource $(VENV_BIN)/activate
.