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
- Check out this branch, rebuild workhorse, and restart workhorse and Rails.
- Trigger a CI-run flow, such as a Duo Code Review or assigning an issue to Duo Developer.
- Confirm the job runs
duo9.25.0 and that workhorse logsgrep_fixed_stringsinclient_capabilitiesonSending startRequest.
Local test details
- With v0.0.18, the job runs
duo9.25.0 from the image. - Workhorse logs the start request with
grep_fixed_stringsinclient_capabilities. - Duo Workflow Service binds the literal grep tool (the
grep_fixed_stringsvariant) 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
- Related to #629436 (closed).
- Executor side: fix(workflow-executor): grep literal keywords, ... (gitlab-org/editor-extensions/gitlab-lsp!4154 - merged)
- Released in gitlab-lsp v9.25.0.
- Image: Bump duo-cli to 9.25.0 (gitlab-org/duo-workflow/default-docker-image!47 - merged), tagged v0.0.18.