name: Setup Python description: Setup Python inputs: python-version: description: Python version required: false default: "3.10" env-dir: description: Environment directory required: false default: "." no-root: description: Do not install package in the environment required: false default: "false" runs: using: "composite" steps: - name: Install uv uses: astral-sh/setup-uv@v5 - name: Setup Python run: uv python install ${{ inputs.python-version }} shell: bash - name: Cache uv uses: actions/cache@v4 with: path: ~/.cache/uv key: uv-${{ runner.os }}-${{ inputs.python-version }}-${{ hashFiles('uv.lock', format('{0}/uv.lock', inputs.env-dir)) }} restore-keys: uv-${{ runner.os }}-${{ inputs.python-version }}- - run: | cd ${{ inputs.env-dir }} if [ "${{ inputs.no-root }}" = "true" ]; then uv sync --frozen --all-extras --no-install-project else uv sync --frozen --all-extras fi shell: bash