Skip to content

Commit 31768fd

Browse files
author
hah23255
committed
feat: add GitHub badges and CI/CD workflow
- Add professional badges to README (Python, License, Black, FastAPI, Docker, CI) - Create GitHub Actions workflow for continuous integration - Test across Python 3.9, 3.10, 3.11 - Include linting (ruff), formatting (black), type checking (mypy) - Add test coverage reporting with Codecov - Include Docker image build validation
1 parent a1ecc67 commit 31768fd

File tree

2 files changed

+74
-5
lines changed

2 files changed

+74
-5
lines changed

.github/workflows/ci.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ['3.9', '3.10', '3.11']
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v5
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
cache: 'pip'
24+
25+
- name: Install dependencies
26+
run: |
27+
python -m pip install --upgrade pip
28+
pip install -r requirements.txt
29+
pip install pytest pytest-cov pytest-asyncio
30+
31+
- name: Lint with ruff
32+
run: |
33+
pip install ruff
34+
ruff check src/ tests/
35+
36+
- name: Format check with black
37+
run: |
38+
pip install black
39+
black --check src/ tests/
40+
41+
- name: Type check with mypy
42+
run: |
43+
pip install mypy
44+
mypy src/ || true
45+
46+
- name: Run tests
47+
run: |
48+
pytest tests/ -v --cov=src --cov-report=xml --cov-report=term
49+
50+
- name: Upload coverage to Codecov
51+
uses: codecov/codecov-action@v3
52+
with:
53+
file: ./coverage.xml
54+
flags: unittests
55+
name: codecov-umbrella
56+
fail_ci_if_error: false
57+
58+
docker:
59+
runs-on: ubuntu-latest
60+
steps:
61+
- uses: actions/checkout@v4
62+
63+
- name: Build Docker image
64+
run: |
65+
docker build -t aec-rag-system:test .
66+
67+
- name: Test Docker image
68+
run: |
69+
docker run --rm aec-rag-system:test python --version

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# AEC Design Management RAG System
22

3-
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4-
[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
3+
[![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
4+
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
55
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
6-
[![FastAPI](https://img.shields.io/badge/FastAPI-0.100+-00a393.svg)](https://fastapi.tiangolo.com)
7-
[![Docker](https://img.shields.io/badge/Docker-Ready-2496ED.svg)](https://www.docker.com/)
8-
[![Status](https://img.shields.io/badge/Status-Development-orange.svg)]()
6+
[![FastAPI](https://img.shields.io/badge/FastAPI-0.109.0-009688.svg)](https://fastapi.tiangolo.com)
7+
[![Docker](https://img.shields.io/badge/docker-ready-blue.svg)](https://www.docker.com/)
8+
[![CI](https://github.com/hah23255/aec-rag-system/workflows/CI/badge.svg)](https://github.com/hah23255/aec-rag-system/actions)
99

1010
A production-grade Retrieval-Augmented Generation (RAG) system for Architecture, Engineering, and Construction (AEC) design management, powered by GraphRAG and local LLMs.
1111

0 commit comments

Comments
 (0)