From b304d667199ff80fa5a7ff9b1848443bf13e9f39 Mon Sep 17 00:00:00 2001 From: Ahmed Ilyas Date: Wed, 24 Jul 2024 21:37:52 +0200 Subject: [PATCH] Use env variables in Github Actions docs (#5411) ## Summary Use [Github Actions](https://docs.github.com/en/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow) `env` to define environment variables. After: Screenshot 2024-07-24 at 17 24 23 --- docs/guides/integration/github.md | 39 ++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/docs/guides/integration/github.md b/docs/guides/integration/github.md index ac4d5961aa32..07eed1054dd6 100644 --- a/docs/guides/integration/github.md +++ b/docs/guides/integration/github.md @@ -137,12 +137,45 @@ steps: ## Using `uv pip` -If using the `uv pip` interface instead of the uv project interface, uv requires a virtual environment by default. To allow installing packages into the system environment, use the `--system` flag on all `uv` invocations or set the `UV_SYSTEM_PYTHON` variable, e.g.: +If using the `uv pip` interface instead of the uv project interface, uv requires a virtual environment by default. To allow installing packages into the system environment, use the `--system` flag on all `uv` invocations or set the `UV_SYSTEM_PYTHON` variable. + +### Setting `UV_SYSTEM_PYTHON` + +`UV_SYSTEM_PYTHON` variable can be defined in various scopes: + +i. Workflow-wide Environment Variables + +Set the variable for the entire workflow by defining it at the top level: + +```yaml title="example.yml" +env: + UV_SYSTEM_PYTHON: 1 + +jobs: ... +``` + +ii. Job-specific Environment Variables + +Set the variable for a specific job within the workflow: + +```yaml title="example.yml" +jobs: + install_job: + env: + UV_SYSTEM_PYTHON: 1 + ... +``` + +iii. Step-specific Environment Variables + +Set the variable for a specific step: ```yaml title="example.yml" steps: - - name: Allow uv to use the system Python by default - run: echo "UV_SYSTEM_PYTHON=1" >> $GITHUB_ENV + - name: Install requirements + run: uv pip install -r requirements.txt + env: + UV_SYSTEM_PYTHON: 1 ``` Now, `uv pip` can modify the system environment without creating and activating a virtual environment.