# Standard repository ## Branches and tags The standard uses [semantic versioning](https://semver.org/), with versions following the *MAJOR.MINOR.PATCH* name convention. Each minor version of the standard's documentation is built from a "live" branch named after the version, like `0.1`. For each live branch, there is a dev branch with a `-dev` suffix. Patch versions may further branch off the dev branch, with work merged into the dev branch before finally being merged into the live branch. [open-fibre-data-standard.readthedocs.io](https://open-fibre-data-standard.readthedocs.io) redirects to (`https://open-fibre-data-standard.readthedocs.io/en/latest/`), which points to the most recent live branch specified as the default branch in the [Read the Docs settings](https://readthedocs.org/dashboard/open-fibre-data-standard/advanced/); this makes it possible to link to the current version of the documentation without specifying the version number. Sample branch structure: - **0.1**: contains the deployed version of OFDS 0.1 - **0.2**: contains the deployed version of OFDS 0.2 - **0.2-dev**: used to stage changes to version 0.2 (such as minor documentation changes) - **0.3-dev**: used to stage changes for version 0.3 (such as schema changes) The `X.X` and `X.X-dev` branches are [protected](https://help.github.com/articles/about-protected-branches/). The published documentation has versions on `MAJOR.MINOR` [branches](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/branches) (e.g. ), whereas the published schema has versions on different `MAJOR__MINOR__PATCH` [tagged releases](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/tags) (e.g. ). This use of branches and tags allows documentation to change between versions, while ensuring schema isn't changed between versions. ## Structure - [.github/workflows](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/.github/workflows): GitHub Actions workflows for CI and tests - [_assets](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/_assets): images used in the documentation - [codelists](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/codelists): codelist CSV files - [docs](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/docs): documentation - [.tx/config](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/0.1-dev/docs/.tx/config): configuration of Transifex (not yet implemented) - [\_static/](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/docs/_static): CSS and JavaScript for the documentation - [\_templates/](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/docs/_templates): Jinja templates for the documentation - `*.md` `*/*.md`: English documentation text - [conf.py](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/0.1-dev/docs/conf.py): Sphinx configuration - [locale/](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/docs/locale/): translations of the English documentation (not yet implemented) - [examples](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/examples): examples of OFDS data in different publication formats and data use examples - [schema](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/schema): schema-related files - `*.json`: JSON Schema files - `*.csv`: CSV representation of JSON Schema files - [tests/](https://github.com/Open-Telecoms-Data/open-fibre-data-standard/blob/HEAD/tests): Python tests The following files are created by running a build and are not version controlled: - `.ve/`: Python virtualenv, containing all dependencies - `build/`: contains the built copy of the documentation website