Skip to content

設計(PLAN68): スナップショットの世代をボリュームの組ごとの系列で持つ (#248) #658

設計(PLAN68): スナップショットの世代をボリュームの組ごとの系列で持つ (#248)

設計(PLAN68): スナップショットの世代をボリュームの組ごとの系列で持つ (#248) #658

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
python-syntax:
name: Python syntax check
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Compile-check Python sources
run: python -m compileall -q lib bin
lint:
name: Ruff lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v3
with:
args: "check --select=E9,F63,F7,F82 lib"
shellcheck:
name: ShellCheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run ShellCheck on bin/
uses: ludeeus/action-shellcheck@master
with:
scandir: ./bin
severity: error
- name: Run ShellCheck on install.sh
run: shellcheck --severity=error install.sh
pytest:
name: Pytest (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
# requires-python の下限と、手元で使う版 (PLAN60 前提 1)
python-version: ["3.10", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies from uv.lock
run: uv sync --locked
- name: Run pytest
# CI に DEVBASE_ROOT は無い。テストは自前の tmp を DEVBASE_ROOT に向ける (PLAN60 前提 4)
run: uv run --locked pytest tests/ -q