okl's own CI against the from-scratch guide: Sonar coverage, format gate, locked installs

Open
#331 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
github-actions, python
Domain
ci-cd, devops

Research direction

The changes live in the CI workflow and .sonarcloud.properties; start by reading where CI runs ruff check, pip install -e . and uv lock --check. Run ruff format --check . locally to see the roughly 111 files it flags. Each change (Sonar coverage, format gate, uv sync --locked) should be its own PR, and the SonarCloud switch needs the maintainer's token, so pick a different item to start. Formatting touches most files, so it should land alone.

Written by the indexing model from the issue text.

Description

The from-scratch guide (#330) recommends practices this repository does not follow yet. The research for it found these, on 2026-11-01:

  • SonarCloud cannot see our coverage. We use automatic analysis (.sonarcloud.properties), and Sonar's docs say automatic analysis never imports coverage. Getting coverage into SonarCloud needs CI-based analysis: SonarSource/sonarqube-scan-action (pinned by SHA) with sonar.python.coverage.reportPaths=coverage.xml, fetch-depth: 0 and a SONAR_TOKEN secret.
  • Formatting is not gated. CI runs ruff check only. ruff format --check . reports about 111 files that would be reformatted. Adopting it is one reformatting commit plus a CI step. It would touch most files, so land it alone, with nothing else open against those files.
  • CI does not install from the lockfile. CI installs with pip install -e . and checks uv lock --check separately. uv sync --locked would test the locked versions themselves.
  • gitleaks is in maintenance mode. Its README says it is "feature complete… security patches only". Keep it, and watch its successor.

Each is a separate change, so pick them up one at a time. The SonarCloud switch needs the maintainer, who holds the token and the project settings.

🤖 Generated with Claude Code

Dominant language
Python
Stars
1
Forks
1
Avg merge
6h 2m
Merged PRs (30d)
108

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from emeraldleaf/okl

All issues in emeraldleaf/okl

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.