mirror of
https://github.com/malmeloo/FindMy.py.git
synced 2026-04-17 21:53:57 +02:00
ci: Use common setup workflow
This commit is contained in:
33
.github/actions/setup-project/action.yml
vendored
Normal file
33
.github/actions/setup-project/action.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Common Python + Poetry Setup
|
||||
|
||||
inputs:
|
||||
dependency-groups:
|
||||
description: 'A comma-separated list of dependency groups to install'
|
||||
default: 'main'
|
||||
python-version:
|
||||
description: 'The Python version to use'
|
||||
default: '3.10'
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
|
||||
steps:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ inputs.python-version }}
|
||||
|
||||
- name: Load cached venv
|
||||
id: cache-dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: .venv
|
||||
key: venv-${{ runner.os }}-python-${{ inputs.python-version }}-groups-${{ inputs.dependency-groups }}-lock-${{ hashFiles('**/poetry.lock') }}
|
||||
|
||||
- name: Install dependencies
|
||||
if: steps.cache-dependencies.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
python -m pip install poetry
|
||||
poetry config virtualenvs.in-project true
|
||||
poetry install --with ${{ inputs.dependency-groups }}
|
||||
13
.github/workflows/docs.yml
vendored
13
.github/workflows/docs.yml
vendored
@@ -16,17 +16,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
|
||||
- uses: './.github/actions/setup-project'
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install poetry
|
||||
poetry config virtualenvs.in-project true
|
||||
poetry install --with dev
|
||||
dependency-groups: 'docs'
|
||||
|
||||
- name: Build documentation
|
||||
run: |
|
||||
|
||||
13
.github/workflows/pre-commit.yml
vendored
13
.github/workflows/pre-commit.yml
vendored
@@ -10,17 +10,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install poetry
|
||||
poetry config virtualenvs.in-project true
|
||||
poetry install --with dev,test
|
||||
- uses: './.github/actions/setup-project'
|
||||
with:
|
||||
dependency-groups: 'dev,test'
|
||||
|
||||
- uses: pre-commit/action@v3.0.1
|
||||
|
||||
|
||||
12
.github/workflows/publish.yml
vendored
12
.github/workflows/publish.yml
vendored
@@ -15,16 +15,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
|
||||
- uses: './.github/actions/setup-project'
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install poetry
|
||||
poetry config virtualenvs.in-project true
|
||||
poetry install --with dev
|
||||
dependency-groups: 'dev'
|
||||
|
||||
- name: Prepare README
|
||||
run: ./scripts/refactor_readme.py README.md
|
||||
|
||||
27
.github/workflows/test.yml
vendored
27
.github/workflows/test.yml
vendored
@@ -13,17 +13,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
|
||||
- uses: './.github/actions/setup-project'
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install poetry
|
||||
poetry config virtualenvs.in-project true
|
||||
poetry install --with dev
|
||||
dependency-groups: 'dev'
|
||||
|
||||
- id: supported-versions
|
||||
name: Get supported versions
|
||||
@@ -40,18 +33,10 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
- uses: './.github/actions/setup-project'
|
||||
with:
|
||||
python-version: "${{ matrix.py-version }}"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install poetry
|
||||
poetry config virtualenvs.in-project true
|
||||
|
||||
# Only install main dependencies
|
||||
poetry install --with test
|
||||
python-version: ${{ matrix.py-version }}
|
||||
dependency-groups: 'test'
|
||||
|
||||
- name: Run unit tests
|
||||
run: poetry run pytest
|
||||
|
||||
Reference in New Issue
Block a user