Added
- Reviews run in a pipeline, with nothing to deploy.
revu reviewis the same
check with the same prompt, but without an inbound address, a permanent host or a
bot account of its own: the code is already checked out, the event says which pull
request it is, and the job already holds a token. GitHub Actions, GitLab CI and
Gitea Actions are supported; the host, the repository, the pull request number and
the revisions come from the platform's own variables, so a usual run takes no
arguments at all.- Where the change comes from: the local checkout (the default), the host API, or
a saved diff file. Reading locally spends no requests at all, anddeepcontext
is free in a pipeline: the files are on disk and the tree is onegitcommand. - Where the answer goes: a comment in the pull request when a token allows it, the
job log otherwise, or one JSON object with--format json. --fail-on never|error|findings(neverby default) decides what the job does
about the result: a gate is a choice, not a default.- The flags are
--diff-source,--diff-file,--base,--head,--repo,
--pr,--provider,--depth,--comment/--stdout,--format,--fail-on
and--output.
- Where the change comes from: the local checkout (the default), the host API, or
- A pipeline's configuration is built from the environment by the same parser that
readssettings.yaml: the key names match, so do the checks and the error messages,
and the settings file itself is not needed in CI. revu serveis the server under the same command;appanddocker-compose.yaml
keep working as before.gitwas added to the image (a local checkout is read with it) and the virtual
environment toPATH, sorevuworks as a command.- A GitHub action (
action.yml) that checks the change out itself, with
fetch-depth: 0— the setting whose absence means a review of an empty diff — and
runs the image. - Findings can be shown without permission to write.
--format github-annotationsprints the annotations GitHub places next to the changed lines,
and--format gitlab-codequalitywrites the report the merge request widget reads.
Neither creates a comment, so neither needs a token that may write: this is the
answer to GitLab's read-onlyCI_JOB_TOKEN. --output PATHchooses where a report is written (revu-codequality.jsonby
default).NOTIFY_ON_FAILUREworks in a pipeline too: a review that could not be completed
leaves a short comment naming the kind of error (a token that may write is
required), with the details in the log.
Changed
GitProviderProtocolwas split intoGitReaderProtocol(diff, files, tree, earlier
conversation) andCommentPublisherProtocol(comment, inline review). Host ports
implement both, so the server is unaffected, whileContextBuildernow asks for the
reading half only — the one it always used.- The review itself moved into
ReviewRunner, which takes its source and its
destination as arguments and returns aReviewOutcome.ReviewServiceis what
makes a review a webhook review: it holds the connection's concurrency budget and
turns an event into a request. - In a pipeline the review no longer replaces the log with a comment but adds to it:
the text is always in the job log and, when a token allows, also posted as a comment. - ReVu's signature (
<!-- revu -->and the inline badge) was removed from the places
where it would be visible noise rather than invisible identification: GitHub
annotations, the Code Quality report, and the list of findings in the log.