Add Gitea Actions workflow: ci.yml
Some checks failed
CI / lint (push) Has been cancelled
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled

This commit is contained in:
2026-01-31 21:41:28 +00:00
parent a5201cab01
commit e8fe6471a4

View File

@@ -2,29 +2,82 @@ name: CI
on: on:
push: push:
branches: [main] branches:
- main
pull_request: pull_request:
branches: [main] branches:
- main
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout code
uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.11' python-version: '3.9'
- name: Cache pip packages
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip
pip install -r requirements.txt pip install -r requirements.txt
- name: Run tests - name: Run tests
run: pytest tests/ -v --cov=man_card --cov-report=term-missing
- name: Check code quality
run: | run: |
pytest tests/ -v --cov=man_card --cov-report=term-missing
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install linting tools
run: |
python -m pip install --upgrade pip
pip install ruff pip install ruff
ruff check man_card/ tests/
- name: Run linter
run: |
ruff check .
build:
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Verify build
run: |
python -c "from man_card import cli; print('CLI module imports successfully')"
python -c "from man_card import man_parser; print('man_parser module imports successfully')"
python -c "from man_card import card_generator; print('card_generator module imports successfully')"
python -c "from man_card import templates; print('templates module imports successfully')"
python -c "from man_card import config; print('config module imports successfully')"