Skip to content

docs: update README hero image to v0.3.0 core visual #31

docs: update README hero image to v0.3.0 core visual

docs: update README hero image to v0.3.0 core visual #31

Workflow file for this run

name: GitVoyant CI/CD
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
lint-and-format:
name: Lint & Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install UV
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Bootstrap Environment
run: make bootstrap
- name: Install Dev Dependencies
run: make dev
- name: Run Linting
run: make lint
- name: Check Formatting
run: |
make format
# Check if formatting changed anything
git diff --exit-code || (echo " Code is not properly formatted. Run 'make format' locally." && exit 1)
test:
name: Test Suite
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11', '3.12']
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install UV
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Bootstrap Environment
run: make bootstrap
- name: Install Dev Dependencies
run: make dev
- name: Run Unit Tests
run: make test-unit
- name: Run Integration Tests
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: make test-integration
# TODO: Fix CLI tests in future release
# - name: Run CLI Tests
# run: make test-cli
- name: Generate Coverage Report (excluding CLI tests)
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
# Run coverage excluding CLI tests
PYTHONPATH=src .venv/bin/pytest --cov=gitvoyant --cov-report=term-missing --cov-fail-under=55 tests/unit tests/integration
# TODO: Re-enable CLI integration tests in future release
# cli-integration:
# name: CLI Integration Test
# runs-on: ubuntu-latest
# steps:
# - name: Checkout Code
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# - name: Set up Python 3.11
# uses: actions/setup-python@v4
# with:
# python-version: '3.11'
# - name: Install UV
# run: |
# curl -LsSf https://astral.sh/uv/install.sh | sh
# echo "$HOME/.cargo/bin" >> $GITHUB_PATH
# - name: Bootstrap Environment
# run: make bootstrap
# - name: Test CLI Installation
# run: |
# source .venv/bin/activate
# gitvoyant --help
# gitvoyant version
# - name: Test Temporal Analysis
# run: |
# source .venv/bin/activate
# # Test temporal analysis on this repo
# gitvoyant analyze temporal . --window-days 30
# - name: Test Agent Mode
# env:
# ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
# run: |
# source .venv/bin/activate
# # Test that agent can start (but don't run interactive session)
# if [ -n "$ANTHROPIC_API_KEY" ]; then
# echo " Testing agent mode with API key..."
# timeout 10s gitvoyant analyze agent || true
# else
# echo "Skipping agent tests - no API key available"
# fi
security:
name: Security Scan
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Run Bandit Security Scan
run: |
pip install bandit[toml]
bandit -r src/ -f json -o bandit-report.json || true
- name: Upload Security Report
uses: actions/upload-artifact@v4
with:
name: security-report
path: bandit-report.json