mirror of
https://github.com/tiennm99/serena.git
synced 2026-06-18 00:48:15 +00:00
44 lines
1.1 KiB
YAML
44 lines
1.1 KiB
YAML
|
|
# Common step definitions to be included by other workflows
|
|
# This way we can centralize the package manager-specific steps
|
|
|
|
# Poetry setup steps
|
|
poetry-setup:
|
|
- name: Install poetry
|
|
uses: abatilo/actions-poetry@v2
|
|
- name: Setup a local virtual environment (if no poetry.toml file)
|
|
run: |
|
|
poetry config virtualenvs.create true --local
|
|
poetry config virtualenvs.in-project true --local
|
|
- uses: actions/cache@v3
|
|
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
|
|
run: |
|
|
poetry install --with dev
|
|
|
|
# UV setup steps
|
|
uv-setup:
|
|
- name: Install uv
|
|
run: pip install uv
|
|
- uses: actions/cache@v3
|
|
name: Cache dependencies
|
|
with:
|
|
path: ~/.cache/uv
|
|
key: uv-${{ hashFiles('pyproject.toml') }}
|
|
- name: Install dependencies
|
|
run: |
|
|
uv venv
|
|
uv pip install -e ".[dev]"
|
|
|
|
# Pixi setup steps
|
|
pixi-setup:
|
|
- name: Install pixi
|
|
uses: prefix-dev/setup-pixi@v0.4.1
|
|
with:
|
|
pixi-version: v0.7.0
|
|
- name: Install dependencies
|
|
run: pixi install
|
|
|