Compare commits

..

14 Commits

Author SHA1 Message Date
daedb286e9 PDF Preparations
All checks were successful
gl/check check status: success (daedb286e98b8aea93cd89296030af674c879efb)
gl/gate gate status: success (daedb286e98b8aea93cd89296030af674c879efb)
2024-10-17 12:19:42 +00:00
e39b2f1a2c longer commit string
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-09-06 08:04:01 +00:00
88bb548c93 sbv-update
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-09-06 07:36:50 +00:00
f94afbff0f Added Commit Hash and Time to confpy
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-09-06 07:36:01 +00:00
69f89e77c4 Add LTS service
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-06-20 10:57:19 +00:00
e97a327999 Add environment filter to services_by_category
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-05-29 10:58:48 +00:00
c5736b6886 Increase otcdocstheme public version requirement
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-29 10:24:09 +00:00
c6be426256 fix zuul.yaml.j2 template
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2024-01-18 13:19:53 +00:00
78c1a0b0e2 Update zuul.yaml.j2
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-18 09:19:22 +00:00
582216f26b Added setuptools as requirement to support Python 3.12
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-03 11:01:38 +00:00
1434915c01 Added bindep for PDF
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-03 10:59:27 +00:00
bff9eff2bd Differentiate between public and internal otcdocstheme
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2023-11-15 14:07:16 +00:00
d5e7269ae9 Change category name Database to Databases
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2023-11-15 13:49:01 +00:00
1541a02210 Added sphinx-minify to tox
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2023-11-15 13:48:58 +00:00
12 changed files with 126 additions and 3 deletions

3
.gitignore vendored
View File

@ -59,3 +59,6 @@ ChangeLog
# Files created by releasenotes build # Files created by releasenotes build
releasenotes/build releasenotes/build
bindep.txt
packages.txt

View File

@ -0,0 +1,10 @@
---
environment: internal
hc_location: api/lts
html_location: docs/lts/api-ref
link: /log-tank-service/api-ref/
pdf_name: lts-api-ref
rst_location: api-ref/source
service_type: lts
title: API Reference
type: api-ref

View File

@ -0,0 +1,10 @@
---
environment: internal
hc_location: usermanual/lts
html_location: docs/lts/umn
link: /log-tank-service/umn/
pdf_name: lts-umn
rst_location: umn/source
service_type: lts
title: User Guide
type: umn

View File

@ -1,3 +1,3 @@
--- ---
name: database name: database
title: Database title: Databases

View File

@ -0,0 +1,16 @@
---
environment: internal
repositories:
- environment: internal
repo: docs-swiss/log-tank-service
type: gitea
- environment: public
repo: opentelekomcloud-docs-swiss/log-tank-service
type: github
service_category: md
service_title: Log Tank Service
service_type: lts
service_uri: log-tank-service
teams:
- name: docs-orchestration-rw
permission: write

View File

@ -87,10 +87,13 @@ class Services(object):
res.append(copy.deepcopy(cat)) res.append(copy.deepcopy(cat))
return res return res
def services_by_category(self, category): def services_by_category(self, category, environment=None):
"""List services matching category""" """List services matching category"""
res = [] res = []
for srv in self.all_services: for srv in self.all_services:
if environment:
if "environment" in srv and srv["environment"] != environment:
continue
if srv["service_category"] == category: if srv["service_category"] == category:
res.append(copy.deepcopy(srv)) res.append(copy.deepcopy(srv))
return res return res

View File

@ -16,6 +16,8 @@
import os import os
import sys import sys
from git import Repo
from datetime import datetime
extensions = [ extensions = [
'otcdocstheme', 'otcdocstheme',
@ -118,6 +120,7 @@ html_title = "{{ title }}"
# relative to this directory. They are copied after the builtin static files, # relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css". # so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static'] html_static_path = ['_static']
templates_path = ['_templates']
# Do not include sources into the rendered results # Do not include sources into the rendered results
html_copy_source = False html_copy_source = False
@ -132,3 +135,16 @@ latex_documents = [
{% endif -%} {% endif -%}
] ]
# Get the Git commit values for last updated timestamp on each page
repo = Repo(search_parent_directories=True)
commit = repo.head.commit
current_commit_hash = commit.hexsha
current_commit_time = commit.committed_datetime.strftime('%Y-%m-%d %H:%M')
latex_elements = {
'papersize': 'a4paper',
'pointsize': '12pt',
'figure_align': 'H',
'preamble': r'\newcommand{\githash}{' + current_commit_hash + '}',
'sphinxsetup': 'hmargin={15mm,15mm}, vmargin={20mm,30mm}, marginpar=10mm'
}

View File

@ -1,8 +1,16 @@
sphinx>=2.0.0,!=2.1.0 # BSD sphinx>=2.0.0,!=2.1.0 # BSD
{% if target_environment == 'public' %}
otcdocstheme<2.0.0 # Apache-2.0
{% elif target_environment == 'internal' %}
otcdocstheme # Apache-2.0 otcdocstheme # Apache-2.0
{% else %}
otcdocstheme # Apache-2.0
{% endif %}
# releasenotes # releasenotes
reno>=3.1.0 # Apache-2.0 reno>=3.1.0 # Apache-2.0
otc-sphinx-directives>=0.1.0 otc-sphinx-directives>=0.1.0
sphinx-minify>=0.0.1 # Apache-2.0 sphinx-minify>=0.0.1 # Apache-2.0
git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata-swiss.git#egg=otc_metadata git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata-swiss.git#egg=otc_metadata
setuptools
gitpython

View File

@ -5,3 +5,4 @@
.. service_card:: .. service_card::
:service_type: {{ service_type }} :service_type: {{ service_type }}
:environment: {{ environment }}

View File

@ -43,15 +43,23 @@ commands =
{%- endfor %} {%- endfor %}
[testenv:docs-pdf] [testenv:docs-pdf]
deps = {[testenv:docs]deps} deps =
{[testenv:docs]deps}
{[testenv:bindeps]deps}
allowlist_externals = allowlist_externals =
rm rm
mkdir mkdir
wget
make make
bash bash
cp cp
commands = commands =
mkdir -p doc/build/pdf mkdir -p doc/build/pdf
{[testenv:bindeps]commands}
mkdir -p {toxinidir}/_templates
wget -O {toxinidir}/_templates/longtable.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/longtable.tex.jinja
wget -O {toxinidir}/_templates/tabular.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/tabular.tex.jinja
wget -O {toxinidir}/_templates/tabulary.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/tabulary.tex.jinja
{%- for doc in docs %} {%- for doc in docs %}
{%- if doc.pdf_name %} {%- if doc.pdf_name %}
{[testenv:{{ doc.type }}-pdf-docs]commands} {[testenv:{{ doc.type }}-pdf-docs]commands}
@ -109,6 +117,7 @@ allowlist_externals =
cp cp
commands = commands =
rm -rf {{ loc }}/build/pdf rm -rf {{ loc }}/build/pdf
cp -r {toxinidir}/_templates {{ loc }}/source/_templates/
sphinx-build -W --keep-going -b latex {{ loc }}/source {{ loc }}/build/pdf/ sphinx-build -W --keep-going -b latex {{ loc }}/source {{ loc }}/build/pdf/
bash -c "for f in {{ loc }}/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true" bash -c "for f in {{ loc }}/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true"
bash -c "for f in {{ loc }}/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done" bash -c "for f in {{ loc }}/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done"
@ -118,6 +127,21 @@ commands =
{% endif %} {% endif %}
{% endfor %} {% endfor %}
[testenv:bindeps]
deps =
bindep
allowlist_externals =
wget
rm
bash
commands =
rm -rf {toxinidir}/bindep.txt
rm -rf {toxinidir}/packages.txt
wget -O {toxinidir}/bindep.txt https://raw.githubusercontent.com/opentelekomcloud/otcdocstheme/main/bindep.txt
bash -c "bindep test -b -f {toxinidir}/bindep.txt > {toxinidir}/packages.txt || true"
bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v apt &>/dev/null; then apt update && xargs apt install --no-install-recommends -y < {toxinidir}/packages.txt; fi; fi'
bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v dnf &>/dev/null; then dnf install -y $(cat {toxinidir}/packages.txt); fi; fi'
[doc8] [doc8]
ignore = D001 ignore = D001
extensions = .rst, .yaml extensions = .rst, .yaml

View File

@ -0,0 +1,12 @@
---
- project:
merge-mode: squash-merge
default-branch: main
templates:
- helpcenter-swiss-base-jobs
check:
jobs:
- noop
gate:
jobs:
- noop

View File

@ -50,6 +50,7 @@ def process_repositories(args, service):
) )
conf_py_template = env.get_template("conf.py.j2") conf_py_template = env.get_template("conf.py.j2")
tox_ini_template = env.get_template("tox.ini.j2") tox_ini_template = env.get_template("tox.ini.j2")
zuul_yaml_template = env.get_template("zuul.yaml.j2")
index_sbv_template = env.get_template("index_sbv.rst.j2") index_sbv_template = env.get_template("index_sbv.rst.j2")
doc_requirements_template = env.get_template("doc_requirements.txt.j2") doc_requirements_template = env.get_template("doc_requirements.txt.j2")
@ -210,6 +211,7 @@ def process_repositories(args, service):
site_name="Swiss Open Telekom Cloud Docs", site_name="Swiss Open Telekom Cloud Docs",
logo_url="https://docs-beta.sc.otc.t-systems.com", logo_url="https://docs-beta.sc.otc.t-systems.com",
) )
context["environment"] = args.target_environment
sbv_title = (service["service_title"] + "\n" sbv_title = (service["service_title"] + "\n"
+ ('=' * len(service["service_title"]))) + ('=' * len(service["service_title"])))
context["sbv_title"] = sbv_title context["sbv_title"] = sbv_title
@ -247,6 +249,8 @@ def process_repositories(args, service):
doc["type"] = "dev-guide" doc["type"] = "dev-guide"
context["docs"].append(doc) context["docs"].append(doc)
context["target_environment"] = args.target_environment
tox_ini_content = tox_ini_template.render(**context) tox_ini_content = tox_ini_template.render(**context)
tox_ini_path = pathlib.Path(copy_to, "tox.ini") tox_ini_path = pathlib.Path(copy_to, "tox.ini")
doc_requirements_content = doc_requirements_template.render(**context) doc_requirements_content = doc_requirements_template.render(**context)
@ -267,6 +271,16 @@ def process_repositories(args, service):
out.write(doc_requirements_content) out.write(doc_requirements_content)
repo_to.index.add(["doc/requirements.txt"]) repo_to.index.add(["doc/requirements.txt"])
if args.update_zuul:
"""Update zuul.yaml"""
zuul_yaml_content = zuul_yaml_template.render(**context)
zuul_yaml_path = pathlib.Path(copy_to, "zuul.yaml")
with open(zuul_yaml_path, "w", encoding="utf-8", newline="") as out:
logging.debug(f"Generating {zuul_yaml_path} from template...")
out.write(zuul_yaml_content)
repo_to.index.add(["zuul.yaml"])
if len(repo_to.index.diff("HEAD")) == 0: if len(repo_to.index.diff("HEAD")) == 0:
# Nothing to commit # Nothing to commit
logging.debug( logging.debug(
@ -323,6 +337,7 @@ def main():
parser.add_argument( parser.add_argument(
"--target-environment", "--target-environment",
required=True, required=True,
choices=["internal", "public"],
help="Environment to be used as a source", help="Environment to be used as a source",
) )
parser.add_argument("--service-type", help="Service to update") parser.add_argument("--service-type", help="Service to update")
@ -351,6 +366,11 @@ def main():
action="store_true", action="store_true",
help="Whether to update service-based-view" help="Whether to update service-based-view"
) )
parser.add_argument(
"--update-zuul",
action="store_true",
help="Whether to update zuul.yaml"
)
parser.add_argument( parser.add_argument(
"--overwrite-index-sbv", "--overwrite-index-sbv",
action="store_true", action="store_true",