mirror of
https://github.com/gradio-app/gradio.git
synced 2025-03-07 11:46:51 +08:00
97 lines
3.1 KiB
YAML
97 lines
3.1 KiB
YAML
name: "install all deps"
|
|
description: "Install all deps"
|
|
|
|
inputs:
|
|
skip_build:
|
|
description: "Skip build"
|
|
default: "false"
|
|
build_lite:
|
|
description: "Build lite"
|
|
default: "false"
|
|
test:
|
|
description: "Test"
|
|
default: "false"
|
|
python_version:
|
|
description: "Python version"
|
|
default: "3.10"
|
|
os:
|
|
description: "OS"
|
|
default: "ubuntu-latest"
|
|
outputs:
|
|
venv_activate:
|
|
description: "Venv activate"
|
|
value: ${{ steps.venv.outputs.venv_activate }}
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Set venv binary path (linux)
|
|
if: ${{ inputs.os == 'ubuntu-latest' }}
|
|
shell: bash
|
|
run: |
|
|
echo "VENV_ACTIVATE=venv/bin/activate" >> $GITHUB_ENV
|
|
- name: Set venv binary path (windows)
|
|
if: ${{ inputs.os == 'windows-latest' }}
|
|
shell: bash
|
|
run: |
|
|
echo "VENV_ACTIVATE=venv\\\Scripts\\\activate" >> $GITHUB_ENV
|
|
- name: log venv binary path
|
|
id: venv
|
|
shell: bash
|
|
run: |
|
|
echo "venv_activate=$VENV_ACTIVATE" >> $GITHUB_OUTPUT
|
|
- name: Install Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ inputs.python_version }}
|
|
cache: pip
|
|
cache-dependency-path: |
|
|
client/python/requirements.txt
|
|
requirements.txt
|
|
test/requirements.txt
|
|
- name: Create env
|
|
shell: bash
|
|
run: |
|
|
python -m pip install --upgrade virtualenv
|
|
python -m virtualenv venv
|
|
- name: Install uv
|
|
shell: bash
|
|
run: |
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
|
- uses: actions/cache@v4
|
|
id: cache
|
|
with:
|
|
path: |
|
|
venv/**
|
|
client/python/venv
|
|
restore-keys: |
|
|
gradio-lib-${{inputs.python_version}}-${{inputs.os}}-latest-pip-
|
|
key: "gradio-lib-${{inputs.python_version}}-${{inputs.os}}-latest-pip-${{ hashFiles('client/python/requirements.txt') }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('test/requirements.txt') }}-${{ hashFiles('client/python/test/requirements.txt') }}${{ inputs.test == 'true' && '-test' || ''}}"
|
|
- name: Install ffmpeg
|
|
uses: FedericoCarboni/setup-ffmpeg@583042d32dd1cabb8bd09df03bde06080da5c87c # @v2
|
|
- name: Install test dependencies
|
|
if: inputs.test == 'true' && steps.cache.outputs.cache-hit != 'true'
|
|
shell: bash
|
|
run: |
|
|
. ${{ env.VENV_ACTIVATE }}
|
|
uv pip install -r test/requirements.txt
|
|
uv pip install -r client/python/test/requirements.txt
|
|
- name: Install Gradio and Client Libraries Locally (Linux)
|
|
shell: bash
|
|
run: |
|
|
. ${{ env.VENV_ACTIVATE }}
|
|
uv pip install -e client/python
|
|
uv pip install -e ".[oauth]"
|
|
- name: install-frontend
|
|
uses: "gradio-app/gradio/.github/actions/install-frontend-deps@main"
|
|
with:
|
|
skip_build: ${{ inputs.skip_build }}
|
|
build_lite: ${{ inputs.build_lite }}
|
|
- name: generate json
|
|
shell: bash
|
|
if: inputs.os == 'ubuntu-latest'
|
|
run: |
|
|
. ${{ env.VENV_ACTIVATE }}
|
|
uv pip install boto3 && python js/_website/generate_jsons/generate.py
|