mirror of
https://github.com/natelandau/obsidian-metadata.git
synced 2025-11-18 18:03:39 -05:00
feat: initial application release
This commit is contained in:
68
.github/actions/setup-poetry/action.yml
vendored
Normal file
68
.github/actions/setup-poetry/action.yml
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
name: Cached Python and Poetry setup
|
||||
description: Cache Poetry with additional extras key
|
||||
|
||||
inputs:
|
||||
python-version:
|
||||
description: >
|
||||
Version range or exact version of a Python version to use, using SemVer's version range syntax.
|
||||
required: false
|
||||
default: 3.x
|
||||
|
||||
outputs:
|
||||
python-version:
|
||||
description: The installed python version. Useful when given a version range as input.
|
||||
value: ${{ steps.setup-python.outputs.python-version }}
|
||||
cache-hit:
|
||||
description: A boolean value to indicate projects dependencies were cached
|
||||
value: ${{ steps.setup-python.outputs.cache-hit }}
|
||||
poetry-cache-hit:
|
||||
description: A boolean value to indicate Poetry installation was cached
|
||||
value: ${{ steps.pipx-cache.outputs.cache-hit }}
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Get pipx env vars
|
||||
id: pipx-env-vars
|
||||
shell: bash
|
||||
run: |
|
||||
echo "pipx-home=${PIPX_HOME}" >> $GITHUB_OUTPUT
|
||||
echo "pipx-bin-dir=${PIPX_BIN_DIR}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Load pipx cache
|
||||
# If env vars are not defined do not load cache
|
||||
if: >
|
||||
steps.pipx-env-vars.outputs.pipx-home != ''
|
||||
&& steps.pipx-env-vars.outputs.pipx-bin-dir != ''
|
||||
id: pipx-cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
${{ steps.pipx-env-vars.outputs.pipx-home }}/venvs/poetry
|
||||
${{ steps.pipx-env-vars.outputs.pipx-bin-dir }}/poetry
|
||||
key: ${{ runner.os }}-${{ inputs.python-version }}-pipx-${{ hashFiles('**/poetry.lock') }}
|
||||
|
||||
- name: Install poetry
|
||||
# If env vars are not defined or we missed pipx cache, install poetry
|
||||
if: >
|
||||
(
|
||||
steps.pipx-env-vars.outputs.pipx-home == ''
|
||||
&& steps.pipx-env-vars.outputs.pipx-bin-dir == ''
|
||||
)
|
||||
|| steps.pipx-cache.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: pipx install poetry
|
||||
|
||||
- name: Load poetry cache
|
||||
uses: actions/setup-python@v4
|
||||
id: setup-python
|
||||
with:
|
||||
python-version: ${{ inputs.python-version }}
|
||||
cache: poetry
|
||||
|
||||
- name: Install poetry dependencies
|
||||
# If we missed poetry cache install dependencies
|
||||
if: steps.setup-python.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: poetry install --all-extras
|
||||
Reference in New Issue
Block a user