Skip to content

fix(workflows): load custom steps before update - #4768

Open
WOLIKIMCHENG wants to merge 2 commits into
github:mainfrom
WOLIKIMCHENG:fix/workflow-update-custom-steps
Open

WOLIKIMCHENG wants to merge 2 commits into
github:mainfrom
WOLIKIMCHENG:fix/workflow-update-custom-steps

Conversation

@WOLIKIMCHENG

@WOLIKIMCHENG WOLIKIMCHENG commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Description

Load project-installed custom workflow steps before workflow update validates downloaded candidates. This aligns update with add, run, and resume while using the active project's custom-step registry.

The update path now refreshes project-local custom steps between projects, so a type from one project is not accepted when updating another. Invalid updates continue to leave the installed workflow and registry unchanged.

Testing

  • tests/specify_cli/workflows/test_command_update.py and test_custom_steps.py: 24 passed
  • tests/specify_cli/workflows: 588 passed, 1 skipped
  • tests/test_workflows.py: 779 passed
  • git diff --check origin/main

@mnriem mnriem added the triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review label Sep 28, 2026
@mnriem
mnriem requested a balanced review from Copilot September 28, 2026 13:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Process-global custom steps can leak across projects and incorrectly validate an update.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Loads custom workflow steps before validating workflow updates.

Changes:

  • Registers project custom steps during workflow update.
  • Adds success and transactional rejection regressions.
File Description
src/​specify_cli/​workflows/​command_update.py Loads custom steps before update validation.
tests/​specify_cli/​workflows/​test_command_update.py Tests custom and unknown step updates.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

from .catalog import WorkflowCatalog, WorkflowCatalogError

project_root = cli._require_specify_project()
load_custom_steps(project_root)
@mnriem

mnriem commented Sep 28, 2026

Copy link
Copy Markdown
Collaborator

Please address Copilot feedback

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused fix is consistent with existing workflow commands and has comprehensive regression coverage.

1 open finding

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

@mnriem

mnriem commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Please address Copilot feedback

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants