# prodigysim/action-versioning-workflow architecture

> Architecture diagram of the GitHub repository prodigysim/action-versioning-workflow, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/prodigysim/action-versioning-workflow
- Repository: https://github.com/prodigysim/action-versioning-workflow

## Overview

This repository provides a reusable GitHub Actions workflow for tag-based versioning. A push triggers the workflow, which uses `version.rc` for the major and minor version and previously published tags to determine the patch version, then updates the corresponding release tags. The workflow file is present in the tree, but its contents were not sampled, so the internal calculation and tag-update steps are represented only at the documented level.

Main entry points: [`.github/workflows/action_versioning.yml`](https://github.com/prodigysim/action-versioning-workflow/blob/main/.github/workflows/action_versioning.yml) (Versioning workflow), [`version.rc`](https://github.com/prodigysim/action-versioning-workflow/blob/main/version.rc) (Version config)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_versioning["Tag versioning"]
  node_workflow["Versioning workflow"]
  node_config["Version config<br/>[version.rc]"]
end

node_push(("Branch push"))
node_tags[("Git tags")]

node_push -->|"triggers"| node_workflow
node_workflow -->|"reads version"| node_config
node_workflow -->|"reads prior tags"| node_tags
node_workflow -->|"updates tags"| node_tags

click node_workflow "https://github.com/prodigysim/action-versioning-workflow/blob/main/.github/workflows/action_versioning.yml"
click node_config "https://github.com/prodigysim/action-versioning-workflow/blob/main/version.rc"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_workflow,node_config toneBlue
class node_push toneIndigo
class node_tags toneAmber
```

## Components

### Tag versioning

- [Versioning workflow](https://github.com/prodigysim/action-versioning-workflow/blob/main/.github/workflows/action_versioning.yml): `.github/workflows/action_versioning.yml`
- [Version config](https://github.com/prodigysim/action-versioning-workflow/blob/main/version.rc): `version.rc`

### Other components

- **Branch push**
- **Git tags**

## Connections

- Branch push → Versioning workflow: triggers
- Versioning workflow → Version config: reads version
- Versioning workflow → Git tags: reads prior tags
- Versioning workflow → Git tags: updates tags
