RUNNING
Review and approval
A change set that reaches a reviewed environment waits there until a person lets it through. This page is about that wait.
What an environment does with a change
In a new project, dev applies a submitted change straight away. prod
records it as proposed and commits nothing: not a file, not a table, until a member who
may approve changes does so. Submitting with rl deploy to such an environment
reports that the change awaits approval and exits normally, because a proposal is the
successful outcome of a deploy there.
Who may approve
Owners and admins. Approving is its own permission, separate from the permission to apply to production, so an organisation can keep who proposes apart from who approves without inventing a role.
The person who submitted a change set may not approve it, unless nobody else can: no other member who is not banned holds the approve permission on that project, which every trial is on its first day and which an organisation of an owner and engineers stays. A gate nobody can pass is a wall, so that case is allowed, and the audit log records the approval as a self-approval: it shows that the second look was the first look. The day the organisation has a second member who can approve, the exception stops applying.
Approving exactly what you saw
With rl approve, an approval on a reviewed environment first prints the changes
that approving would make there, and the command that approves exactly those. If the changes
have moved since you looked, that command is refused, and you are shown the current changes and
a new command. When you may not see all of a change, you are shown only the parts you may see
and told that there are others, never how many, and you are given no command: only a member who
can see all of it can approve it.
Rejecting
Rejecting closes a change set without committing anything. It is a state, not a deletion, so the proposal and the decision stay on record. Approving and rejecting are both written to the audit log, with who decided and when.
Where to go next
- The repository and change sets says what is being approved.
- The audit chain says how the decisions are kept.
- The rl command line documents
rl approveandrl reject, flag by flag. - Permissions shows which roles may approve, and which acts ask for a fresh sign-in.