Add grep_fixed_strings capability, bump Duo CLI version

What does this MR do and why?

Adds a grep_fixed_strings client capability to workhorse's ClientCapabilities allowlist, and bumps StartWorkflowService::DUO_CLI_VERSION so the CI-triggered Duo Workflow executor can negotiate it. This is the gitlab.com-side half of enabling literal (non-regex) grep matching for the Duo Code Review deep flow; the executor-side implementation is in fix(workflow-executor): grep literal keywords, ... (gitlab-org/editor-extensions/gitlab-lsp!4154 - merged).

DUO_CLI_VERSION goes from 9.23.0 to 9.25.0, the first Duo CLI release that declares grep_fixed_strings.

IMAGE_PATH also moves from v0.0.17 to v0.0.18, which ships Duo CLI 9.25.0 (Bump duo-cli to 9.25.0 (gitlab-org/duo-workflow/default-docker-image!47 - merged)). CI jobs skip the CLI download when the image already has duo, so both bumps are needed.

Screenshots or screen recordings

N/A — backend-only change.

How to set up and validate locally

  1. Check out this branch, rebuild workhorse, and restart workhorse and Rails.
  2. Trigger a CI-run flow, such as a Duo Code Review or assigning an issue to Duo Developer.
  3. Confirm the job runs duo 9.25.0 and that workhorse logs grep_fixed_strings in client_capabilities on Sending startRequest.
Local test details
  • With v0.0.18, the job runs duo 9.25.0 from the image.
  • Workhorse logs the start request with grep_fixed_strings in client_capabilities.
  • Duo Workflow Service binds the literal grep tool (the grep_fixed_strings variant) instead of the regex one.
  • Code review, deep flow (deep_code_review): review of a test MR finished, job succeeded, 8 inline findings posted.
  • Duo Developer (developer/v1): assigned a small issue to the Duo Developer service account; it finished and opened a draft MR with a correct change.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

References

Edited by Kinshuk Singh

Merge request reports

Loading
Loading