Skip to content

Prevent parallel docs model generation from overwriting shared output #2227

Description

@coderabbitai

Summary

make -j docs/models can execute the phony PlantUML model targets concurrently. Each underlying pyreverse command writes its intermediate result to the same docs/models/classes.puml path before it is renamed, so diagrams can be overwritten, mismatched, or cause a target to fail.

Required changes

Update the documentation model generation rules in Makefile so each of these targets has isolated intermediate output or is explicitly serialized:

  • docs/models/requests.puml
  • docs/models/responses.puml
  • docs/models/common.puml
  • docs/models/database.puml

Preserve the existing final generated filenames and the existing docs/models interface.

Rationale

The model targets are declared .PHONY, which allows GNU Make to schedule them in parallel. Sharing docs/models/classes.puml makes the recipes unsafe under parallel execution.

Affected area

  • Makefile documentation model-generation targets

Acceptance criteria

  • Running make -j docs/models does not share or overwrite an intermediate classes.puml file between targets.
  • Each target produces its matching final .puml diagram.
  • The target behavior remains compatible with the SVG generation targets.

Backlinks

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions