Fix manual runs of CI integrations with multiple configurations.
Review Request #12836 — Created Feb. 21, 2023 and submitted
When a review request has multiple configurations for the same
integration, manual runs behave incorrectly. They check for a matching
configuration, and may get a configuration that doesn't actually match
the one triggering the run. In this case, some other configuration may
end up running.
Review Board 5.0.3 adds support for tracking configurations along with
StatusUpdates and passing them to the signal handler for manual runs.
This change takes advantage of that to use the stored configuration.
Since prior versions of 5.0.x can upgrade to this release of
rbintegrations, this change also backports some of the logic, manually
storing the configuration association and looking it up if not provided
to the signal handler.
Unit tests pass.
Manually tested conditions with and without the new logic in both
Review Board and in rbintegrations.
This change will be tested in production by a customer affected by this