Files
Greg Hendrickson 590fbe045c feat: ShellMate - SSH Chess TUI
Play chess in your terminal over SSH. No installs, no accounts.

Features:
- Beautiful terminal-filling chess board with ANSI colors
- Play against Stockfish AI (multiple difficulty levels)
- Two-step move interaction with visual feedback
- Leaderboard with PostgreSQL persistence
- SSH key persistence across restarts

Infrastructure:
- Docker containerized deployment
- CI/CD pipeline for dev/staging/production
- Health checks with auto-rollback
- Landing page at shellmate.sh

Tech: Python 3.12+, asyncssh, python-chess, Stockfish
2026-02-01 20:05:58 +00:00

63 lines
1.3 KiB
YAML

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y stockfish
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run linter
run: |
ruff check src/ tests/
- name: Run type checker
run: |
mypy src/ --ignore-missing-imports
continue-on-error: true
- name: Run tests
run: |
pytest tests/ -v --tb=short
build:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker image
uses: docker/build-push-action@v6
with:
context: .
push: false
tags: shellmate:test
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max