@@ -146,55 +146,10 @@ jobs:
146146 with :
147147 node-version : 22
148148
149- # Build git+https deps as wheels outside sfw (avoids sfw MITM cert issues
150- # with git), then install everything else through sfw for scanning.
151- # TODO: revisit when https://github.com/SocketDev/sfw-free/issues/30 is resolved.
152- - name : Pre-install git dependencies (outside sfw)
153- run : |
154- # Install git+https deps directly without sfw to avoid MITM cert issues.
155- # Their transitive registry deps will still be scanned by sfw uv sync.
156- grep -oP 'git\+https://[^"]+' uv.lock | sort -u > "$RUNNER_TEMP/git-deps.txt" || true
157- if [ -s "$RUNNER_TEMP/git-deps.txt" ]; then
158- echo "Installing git dependencies:"
159- cat "$RUNNER_TEMP/git-deps.txt"
160- uv pip install --no-deps -r "$RUNNER_TEMP/git-deps.txt"
161- else
162- echo "No git dependencies found."
163- fi
164- - name : Install Dependencies (scanned by Socket.dev)
149+ - name : Install reflex-docs dependencies
150+ working-directory : ./docs/app
165151 run : sfw uv sync
166152
167- # TODO: revisit when https://github.com/SocketDev/sfw-free/issues/30 is resolved.
168- - name : Pre-install reflex-docs git dependencies (outside sfw)
169- working-directory : ./docs/app
170- run : |
171- # Replace reflex-dev/reflex git deps with plain package names (PR version is pre-installed)
172- sed -i -E 's|"([a-zA-Z0-9_-]+)\s*@\s*git\+https://github\.com/reflex-dev/reflex@[^"]*"|"\1"|g' pyproject.toml
173- # Install git+https deps from pyproject.toml before pip compile resolves them.
174- # Exclude reflex itself — the PR version is already installed.
175- grep -oP 'git\+https://[^"'"'"']+' pyproject.toml | sort -u > git-requirements.txt || true
176- if [ -s git-requirements.txt ]; then
177- echo "Installing git dependencies:"
178- cat git-requirements.txt
179- uv pip install --no-deps -r git-requirements.txt
180- fi
181- - name : Compile and install reflex-docs requirements (scanned by Socket.dev)
182- working-directory : ./docs/app
183- run : |
184- sfw uv pip compile pyproject.toml --no-annotate --no-header --no-deps --output-file requirements.txt
185- uv pip list --format=json | jq -r '"^" + .[].name + "[ =]"' > installed_patterns.txt
186- grep -ivf installed_patterns.txt requirements.txt > requirements.txt.tmp && mv requirements.txt.tmp requirements.txt
187- rm installed_patterns.txt
188- if [ -s requirements.txt ]; then
189- sfw uv pip install -r requirements.txt
190- fi
191- - name : Verify installed reflex version matches this checkout
192- run : |
193- expected_sha="$(git rev-parse --short=8 HEAD)"
194- installed_version="$(uv run --active --no-sync python -c 'import importlib.metadata as metadata; print(metadata.version("reflex"))')"
195- echo "Expected checkout SHA: $expected_sha"
196- echo "Installed reflex version: $installed_version"
197- [[ "$installed_version" == *"+$expected_sha" ]]
198153 - name : Init Website for reflex-docs
199154 working-directory : ./docs/app
200155 run : uv run --active --no-sync reflex init
@@ -259,18 +214,9 @@ jobs:
259214 - uses : ./.github/actions/setup_build_env
260215 with :
261216 python-version : ${{ matrix.python-version }}
262- run-uv-sync : true
263-
264- - name : Install reflex-docs dependencies
265- working-directory : ./docs/app
266- run : |
267- uv pip compile pyproject.toml --no-annotate --no-header --no-deps --output-file requirements.txt
268- uv pip list --format=json | jq -r '"^" + .[].name + "[ =]"' > installed_patterns.txt
269- grep -ivf installed_patterns.txt requirements.txt > requirements.txt.tmp && mv requirements.txt.tmp requirements.txt
270- rm installed_patterns.txt
271217 - name : Install Requirements for reflex-docs
272218 working-directory : ./docs/app
273- run : uv pip install -r requirements.txt
219+ run : uv sync
274220 - name : Init Website for reflex-docs
275221 working-directory : ./docs/app
276222 run : uv run --active --no-sync reflex init
0 commit comments