name: Setup Python
description: Setup Python

inputs:
  python-version:
    description: Python version
    required: false
    default: "3.10"

runs:
  using: "composite"
  steps:
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: ${{ inputs.python-version }}

    - name: Install poetry
      uses: Gr1N/setup-poetry@v7

    - id: poetry-cache
      run: echo "::set-output name=dir::$(poetry config virtualenvs.path)"
      shell: bash

    - uses: actions/cache@v2
      with:
        path: ${{ steps.poetry-cache.outputs.dir }}
        key: ${{ runner.os }}-poetry-${{ steps.python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}

    - run: poetry install
      shell: bash