Problem Description
What is actually happening
The variables plugin (added in #819) does not respect the nop (no-operation/dry-run) flag. When running safe-settings in noop mode, the variables plugin still makes actual API calls to create, update, and delete repository variables.
Affected methods in lib/plugins/variables.js:
add() (line 156) - calls POST /repos/:org/:repo/actions/variables without noop check
update() (line 87) - calls PATCH, POST, and DELETE endpoints without noop check
remove() (line 181) - calls DELETE /repos/:org/:repo/actions/variables/:variable_name without noop check
What is the expected behavior
When running in noop mode (nop: true), the variables plugin should:
- NOT make any actual GitHub API calls
- Return
NopCommand objects describing what changes would be made
- Match the behavior of other plugins like
environments.js which use nopifyRequest() or inline noop checks
Error output, if available
No error - the plugin silently makes real changes even in dry-run mode
Context
Are you using the hosted instance of probot/settings or running your own?
Running our own self-hosted instance as a GitHub App
If running your own instance, are you using it with github.com or GitHub Enterprise?
GitHub.com
Version of probot/settings
Snapshot from main-enterprise branch (Dec 4, 2025)
Version of GitHub Enterprise
N/A - using GitHub.com