name: "setup-poetry-env" description: "Composite action to setup the Python and poetry environment." inputs: python-version: required: false description: "The python version to use" default: "3.11" runs: using: "composite" steps: - name: Set up python uses: actions/setup-python@v5 with: python-version: ${{ inputs.python-version }} - name: Install Poetry uses: snok/install-poetry@v1 with: version: 1.8.5 virtualenvs-in-project: true - name: Generate poetry.lock run: cd arcade && poetry lock --no-update shell: bash - name: Load cached venv id: cached-poetry-dependencies uses: actions/cache@v4 with: path: .venv key: venv-${{ runner.os }}-${{ inputs.python-version }}-${{ hashFiles('arcade/poetry.lock') }} - name: Install dependencies if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' run: cd arcade && poetry install --no-interaction --all-extras shell: bash