name: ci # Runs on every push and pull request. Covers the Python verification loop # contributors run locally so red builds surface on the first commit. on: push: pull_request: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install dependencies uses: astral-sh/setup-uv@v5 with: enable-cache: true - name: Sync environment run: uv sync --locked - name: Lint run: uv run ruff check . - name: Test run: uv run pytest - name: CLI smoke run: uv run codealmanac --help - name: Diff hygiene run: git diff --check