name: 'Install Python and Poetry' description: 'Add Poetry, dependency manager for Python' inputs: python-version: description: 'Python version' required: true poetry-version: description: 'Poetry version' required: true runs: using: 'composite' steps: - name: Set up Python ${{ inputs.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ inputs.python-version }} id: setup_python - name: Install Poetry ${{ inputs.poetry-version }} run: | curl -sSL ${{ env.POETRY_URL }} | \ python - --version ${{ inputs.poetry-version }} echo "$HOME/.local/bin" >> $GITHUB_PATH shell: bash env: POETRY_URL: https://install.python-poetry.org - name: Cache Poetry cache uses: actions/cache@v3 with: path: ~/.cache/pypoetry key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-${{ inputs.poetry-version }} - name: Cache Packages uses: actions/cache@v3 with: path: ~/.local key: poetry-local-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}-${{ hashFiles('.github/workflows/*.yml') }}