You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reviews run in a pipeline, with nothing to deploy.revu review is 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, and deep context
is free in a pipeline: the files are on disk and the tree is one git command.
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 (never by 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.
A pipeline's configuration is built from the environment by the same parser that
reads settings.yaml: the key names match, so do the checks and the error messages,
and the settings file itself is not needed in CI.
revu serve is the server under the same command; app and docker-compose.yaml
keep working as before.
git was added to the image (a local checkout is read with it) and the virtual
environment to PATH, so revu works 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-annotations prints the annotations GitHub places next to the changed lines,
and --format gitlab-codequality writes 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-only CI_JOB_TOKEN.
--output PATH chooses where a report is written (revu-codequality.json by
default).
NOTIFY_ON_FAILURE works 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
GitProviderProtocol was split into GitReaderProtocol (diff, files, tree, earlier
conversation) and CommentPublisherProtocol (comment, inline review). Host ports
implement both, so the server is unaffected, while ContextBuilder now 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 a ReviewOutcome. ReviewService is 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.