mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-23 14:40:47 +01:00
71 lines
1.9 KiB
YAML
71 lines
1.9 KiB
YAML
name: prepare
|
|
|
|
inputs:
|
|
python-version:
|
|
description: "Python Version"
|
|
required: true
|
|
default: "3.10"
|
|
poetry-version:
|
|
description: "Poetry Version"
|
|
default: "1.7.0"
|
|
node-version:
|
|
description: "Node Version"
|
|
default: "20.x"
|
|
npm:
|
|
description: "use npm"
|
|
default: false
|
|
type: boolean
|
|
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Set up Python ${{ inputs.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
# cache poetry install via pip
|
|
cache: "pip"
|
|
|
|
- name: Set up Poetry ${{ inputs.poetry-version }}
|
|
uses: abatilo/actions-poetry@v2
|
|
with:
|
|
poetry-version: ${{ inputs.poetry-version }}
|
|
|
|
- name: Setup a local virtual environment (if no poetry.toml file)
|
|
shell: bash
|
|
run: |
|
|
poetry config virtualenvs.create true --local
|
|
poetry config virtualenvs.in-project true --local
|
|
|
|
- uses: actions/cache@v4
|
|
name: Define a cache for the virtual environment based on the dependencies lock file
|
|
with:
|
|
path: ./.venv
|
|
key: venv-${{ hashFiles('poetry.lock') }}
|
|
|
|
- name: Install the project dependencies
|
|
shell: bash
|
|
run: |
|
|
poetry env use python${{ inputs.python-version }}
|
|
poetry install
|
|
# needed for conv tests
|
|
poetry add psycopg2-binary
|
|
|
|
- name: Use Node.js ${{ inputs.node-version }}
|
|
if: ${{ (inputs.npm == 'true') }}
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ inputs.node-version }}
|
|
|
|
- uses: actions/cache@v4
|
|
if: ${{ (inputs.npm == 'true') }}
|
|
name: Define a cache for the npm based on the dependencies lock file
|
|
with:
|
|
path: ./node_modules
|
|
key: npm-${{ hashFiles('package-lock.json') }}
|
|
|
|
- name: Install npm packages
|
|
if: ${{ (inputs.npm == 'true') }}
|
|
shell: bash
|
|
run: npm install
|