Elements

graph TD; %% REQVIRE-AUTOGENERATED-DIAGRAM %% Graph styling classDef userRequirement fill:#D1C4E9,stroke:#7E57C2,stroke-width:2px; classDef systemRequirement fill:#E1D8EE,stroke:#673AB7,stroke-width:1.5px; classDef verification fill:#DCEDC8,stroke:#4CAF50,stroke-width:2px; classDef folder fill:#FAFAFA,stroke:#9E9E9E,stroke-width:3px; classDef file fill:#FFF8E1,stroke:#FFCA28,stroke-width:2px; classDef default fill:#F5F5F5,stroke:#424242,stroke-width:1.5px; subgraph 295862b78f71931e["📁 requirements/Functional/Integration"] subgraph ab9daa77a1cb1221["📄 GitHubIntegration.md"] b37b9282f6da886["Automate Documentation Export"]; class b37b9282f6da886 userRequirement; click b37b9282f6da886 "GitHubIntegration.html#automate-documentation-export"; 39bccf245057be71["Automate Pull Request Validations"]; class 39bccf245057be71 userRequirement; click 39bccf245057be71 "GitHubIntegration.html#automate-pull-request-validations"; 80f699a01d9db166["Automated Documentation Export on PR Merge"]; class 80f699a01d9db166 systemRequirement; click 80f699a01d9db166 "GitHubIntegration.html#automated-documentation-export-on-pr-merge"; ac8e1ef6e6aaf2de["Generate Change Logs for Pull Requests"]; class ac8e1ef6e6aaf2de userRequirement; click ac8e1ef6e6aaf2de "GitHubIntegration.html#generate-change-logs-for-pull-requests"; end end subgraph 6ac6c5ebccc78d5e["📁 requirements/Functional/Output/Verifications"] subgraph 561c220cadb6e74d["📄 DiagramVerifications.md"] a125312e2a52f1c5["Automated Documentation Export on PR Merge Verification"]; class a125312e2a52f1c5 verification; click a125312e2a52f1c5 "../Output/Verifications/DiagramVerifications.html#automated-documentation-export-on-pr-merge-verification"; end end b37b9282f6da886 -.->|deriveReqT| 80f699a01d9db166; 39bccf245057be71 -.->|deriveReqT| 80f699a01d9db166; 376c8d0428b96897["update_docs.yml"]; class 376c8d0428b96897 default; click 376c8d0428b96897 "../../../.github/workflows/update_docs.yml"; 80f699a01d9db166 -->|satisfiedBy| 376c8d0428b96897; 80f699a01d9db166 -.->|verifiedBy| a125312e2a52f1c5; a125312e2a52f1c5 -->|satisfiedBy| 376c8d0428b96897;

Automate Documentation Export

The system shall automate export of HTML documentation in the GitHub workflow on PR merge event, so that the documentation is always accessible and up-to-date for GitHub Pages.

Metadata

  • type: user-requirement

Relations


Automated Documentation Export on PR Merge

The system shall implement a GitHub workflow that automatically exports and commits updated HTML documentation when pull requests are merged to the main branch.

Details

The GitHub workflow shall:

  • Be triggered only when a pull request is merged to the main branch (not on PR creation or updates)
  • Check out the latest code from the main branch post-merge
  • Build the Reqvire tool from source
  • Run the HTML export process using reqvire export --output docs
  • Check if any documentation files have been added or modified
  • Commit any updated files with a standardized commit message
  • Push the updates back to the main branch

This ensures that the HTML documentation in the docs/ folder is always up-to-date after changes are merged to the main branch, providing accurate documentation for GitHub Pages without requiring manual intervention.

Metadata

  • type: requirement

Relations


Automate Pull Request Validations

The system shall automate validations of pull requests in the GitHub workflow to ensure model consistency before merging.

Metadata

  • type: user-requirement

Relations


Generate Change Logs for Pull Requests

The system shall generate detailed change logs for pull requests, summarizing modifications to the System model and related components.

Metadata

  • type: user-requirement

Relations