name: CI on: push: branches: [main, master] pull_request: jobs: lint: runs-on: ubuntu-latest container: image: python:3.12-slim steps: - name: Install git run: apt-get update && apt-get install -y --no-install-recommends git - name: Checkout run: | git clone --depth=1 --branch="${GITHUB_REF_NAME}" https://git.golfcards.club/alee/soosef.git "$GITHUB_WORKSPACE" || git clone --depth=1 https://git.golfcards.club/alee/soosef.git "$GITHUB_WORKSPACE" - run: pip install ruff black - name: Check formatting run: black --check src/ tests/ frontends/ - name: Lint run: ruff check src/ tests/ frontends/ typecheck: runs-on: ubuntu-latest container: image: python:3.12-slim steps: - name: Install git run: apt-get update && apt-get install -y --no-install-recommends git - name: Checkout run: | git clone --depth=1 --branch="${GITHUB_REF_NAME}" https://git.golfcards.club/alee/soosef.git "$GITHUB_WORKSPACE" || git clone --depth=1 https://git.golfcards.club/alee/soosef.git "$GITHUB_WORKSPACE" - run: pip install mypy - name: Typecheck run: mypy src/ test: runs-on: ubuntu-latest container: image: python:3.12-slim steps: - name: Install git run: apt-get update && apt-get install -y --no-install-recommends git - name: Checkout run: | git clone --depth=1 --branch="${GITHUB_REF_NAME}" https://git.golfcards.club/alee/soosef.git "$GITHUB_WORKSPACE" || git clone --depth=1 https://git.golfcards.club/alee/soosef.git "$GITHUB_WORKSPACE" - name: Install dependencies run: pip install -e ".[dev]" - name: Run tests run: pytest --cov=soosef --cov-report=term-missing