=========================
Updating the otcdocstheme
=========================

Updating the Scale Version
--------------------------

You can update the Scale version which the otcdocstheme uses by following those steps:

1. Obtain the newest Scale version from here: https://github.com/telekom/scale/releases/tag/latest
2. Look at the releasenotes and make sure there are no breaking changes
3. Download the `telekom-scale-components-x.x.x-beta.xxx.zip` file
4. Remove the `scale-components` folder inside `otcdocstheme/theme/otcdocs/static/`
5. Extract the new `scale-components` folder from the downloaded zip file to the same directory. We only need that folder and not the whole `dist` structure.
6. Render the new theme with `tox -e docs` and check for issues. Also remeber to check the sample `api-ref` documentation as well as `docsportal`
7. Open a new pull request with the changes and merge it

After that continue with the Step :ref:`new-release` to publish it to production or internal documentation.

.. _new-release:

Publishing a new Release
------------------------

After you merged changes into otcdocstheme you can proceed with releasing them to either the internal or external documentation.

1. Make sure to check whether you want your change to be only published to the internal helpcenter or to both of them.
2. Check the required version here: https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata/src/branch/main/otc_metadata/templates/doc_requirements.txt.j2#L2
3. Check the current version number of otcdocstheme https://github.com/opentelekomcloud/otcdocstheme/tags
4. Add a new tag to the latest commit of otcdocstheme and specify the version, e.g. by using `git tag 0.2.11`. Be sure to specify a higher version than the latest one. If you only want to push the changes to internal helpcenter make sure to choose a version number which is higher than the maximum allowed number for public helpcenter from step 2.
5. The next rebuild of each documentation page which happens during the night will use the updated theme
