ego-lint exits 0 (pass) or 1 (blocking issues found). It needs only bash and python3 — no network access, no API keys, no extra dependencies.
name: ego-lint
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
with:
repository: ZviBaratz/gnome-extension-reviewer
path: .ego-lint
- run: .ego-lint/ego-lint .ego-lint:
image: python:3-slim
before_script:
- git clone --depth 1 https://github.com/ZviBaratz/gnome-extension-reviewer.git /tmp/ego-lint
script:
- /tmp/ego-lint/ego-lint .- Both examples assume the extension source is at the repo root. Adjust the path if your extension is in a subdirectory.
glib-compile-schemasis optional — the schema dry-run check will be skipped if it's not installed. Installlibglib2.0-dev-bin(Debian/Ubuntu) orglib2-devel(Fedora) if you want schema validation in CI.- The
--reportflag adds a grouped report and verdict summary, useful for CI logs. Add--show allto include PASS and SKIP lines.