ci: move setup to action and add format ci step
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
name: "Install"
|
||||
description: "Setup system and python environment and install repo"
|
||||
inputs:
|
||||
python_version:
|
||||
required: false
|
||||
default: "3.12"
|
||||
description: "Python version to use"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Install Libraries
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgl1 libegl1
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ inputs.python_version }}
|
||||
|
||||
- name: Install repo
|
||||
shell: bash
|
||||
run: |
|
||||
pip install uv
|
||||
uv venv
|
||||
source .venv/bin/activate
|
||||
uv pip install -e .[test]
|
||||
+17
-20
@@ -7,41 +7,38 @@ on:
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Setup
|
||||
uses: ./.gitea/actions/install
|
||||
with:
|
||||
python-version: "3.12"
|
||||
python_version: "3.12"
|
||||
|
||||
- name: Format
|
||||
run: |
|
||||
source .venv/bin/activate
|
||||
ruff format --check
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
needs: "lint"
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.11", "3.12", "3.13"]
|
||||
|
||||
steps:
|
||||
- name: Install Libraries
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgl1 libegl1
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
pip install uv
|
||||
uv venv
|
||||
source .venv/bin/activate
|
||||
uv pip install -e .[test]
|
||||
- name: Setup
|
||||
uses: ./.gitea/actions/install
|
||||
with:
|
||||
python_version: ${{ matrix.python_version }}
|
||||
|
||||
- name: Run Pytest with Coverage
|
||||
id: coverage
|
||||
run: |
|
||||
source .venv/bin/activate
|
||||
pytest --random-order --cov=./ --cov-config=./pyproject.toml --cov-branch --cov-report=xml --no-cov-on-fail ./tests/
|
||||
|
||||
Reference in New Issue
Block a user