Compare commits

...

11 Commits

Author SHA1 Message Date
1f24ffc75b Add environment filter to services_by_category
All checks were successful
gl/check check status: success (1f24ffc75b9e83ceada941dc79b1dd377a686265)
gl/gate gate status: success (1f24ffc75b9e83ceada941dc79b1dd377a686265)
2024-05-29 08:00:02 +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
96ffbc1403 correct swiss portal name
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>
2023-09-06 12:35:10 +00:00
ca8c5fb34c change the base_url accordingly
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>
2023-09-06 07:42:07 +00:00
7 changed files with 92 additions and 22 deletions

3
.gitignore vendored
View File

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

View File

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

View File

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

View File

@ -1,7 +1,15 @@
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
{% else %}
otcdocstheme # Apache-2.0
{% endif %}
# releasenotes
reno>=3.1.0 # Apache-2.0
otc-sphinx-directives>=0.1.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
setuptools

View File

@ -34,23 +34,28 @@ allowlist_externals =
rm
sphinx-build
commands =
rm -rf doc/build/html doc/build/doctrees
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
rm -rf doc/build/html doc/build/html_temp doc/build/doctrees
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html_temp
sphinx-minify --input-directory doc/build/html_temp/ --output-directory doc/build/html
{%- for doc in docs %}
{[testenv:{{ doc.type }}]commands}
{[testenv:json-{{ doc.type }}]commands}
{%- endfor %}
[testenv:docs-pdf]
deps = {[testenv:docs]deps}
deps =
{[testenv:docs]deps}
{[testenv:bindeps]deps}
allowlist_externals =
rm
mkdir
wget
make
bash
cp
commands =
mkdir -p doc/build/pdf
{[testenv:bindeps]commands}
{%- for doc in docs %}
{%- if doc.pdf_name %}
{[testenv:{{ doc.type }}-pdf-docs]commands}
@ -66,16 +71,14 @@ allowlist_externals =
cp
mkdir
commands =
sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html/{{ doc.type }}
{%- if doc.type == 'api-ref' %}
mkdir -p api-ref/build/html
cp -av doc/build/html/api-ref api-ref/build/html
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/html
cp -av doc/build/html/umn umn/build/html
{%- elif doc.type == 'dev-guide' %}
sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html_temp/{{ doc.type }}
sphinx-minify --input-directory doc/build/html_temp/{{ doc.type }} --output-directory doc/build/html/{{ doc.type }}
{%- if doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/html
cp -av doc/build/html/dev-guide dev_guide/build/html
{%- else %}
mkdir -p {{ doc.type }}/build/html
cp -av doc/build/html/{{ doc.type }} {{ doc.type }}/build/html
{%- endif %}
# Json version (for search)
@ -90,15 +93,12 @@ commands =
# Drop data useless for the search - wrap it also with sh/xargs due to bugs
# in tox
sh -c "find doc/build/json -type d -and '(' -name '_images' -or -name '_static' -or -name '_sources' ')' -print0 | xargs -0 rm -rf"
{%- if doc.type == 'api-ref' %}
mkdir -p api-ref/build/json
cp -av doc/build/json/api-ref api-ref/build/json
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/json
cp -av doc/build/json/umn umn/build/json
{%- elif doc.type == 'dev-guide' %}
{%- if doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/json
cp -av doc/build/json/dev-guide dev_guide/build/json
{%- else %}
mkdir -p {{ doc.type }}/build/json
cp -av doc/build/json/{{ doc.type }} {{ doc.type }}/build/json
{%- endif %}
{% if doc.pdf_name -%}
@ -122,6 +122,21 @@ commands =
{% endif %}
{% 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]
ignore = D001
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")
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")
doc_requirements_template = env.get_template("doc_requirements.txt.j2")
@ -148,7 +149,12 @@ def process_repositories(args, service):
context["html_options"] = dict(
disable_search=True,
site_name="Internal Documentation Portal",
logo_url="https://docs-int.otc-service.com",
logo_url="https://docs-int.sc.otc.t-systems.com",
)
else:
context["html_options"] = dict(
site_name="Swiss Open Telekom Cloud Docs",
logo_url="https://docs-beta.sc.otc.t-systems.com",
)
context["doc_environment"] = args.target_environment
if doc['link']:
@ -198,7 +204,12 @@ def process_repositories(args, service):
context["html_options"] = dict(
disable_search=True,
site_name="Internal Documentation Portal",
logo_url="https://docs-int.otc-service.com",
logo_url="https://docs-int.sc.otc.t-systems.com",
)
else:
context["html_options"] = dict(
site_name="Swiss Open Telekom Cloud Docs",
logo_url="https://docs-beta.sc.otc.t-systems.com",
)
sbv_title = (service["service_title"] + "\n"
+ ('=' * len(service["service_title"])))
@ -237,6 +248,8 @@ def process_repositories(args, service):
doc["type"] = "dev-guide"
context["docs"].append(doc)
context["target_environment"] = args.target_environment
tox_ini_content = tox_ini_template.render(**context)
tox_ini_path = pathlib.Path(copy_to, "tox.ini")
doc_requirements_content = doc_requirements_template.render(**context)
@ -257,6 +270,16 @@ def process_repositories(args, service):
out.write(doc_requirements_content)
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:
# Nothing to commit
logging.debug(
@ -313,6 +336,7 @@ def main():
parser.add_argument(
"--target-environment",
required=True,
choices=["internal", "public"],
help="Environment to be used as a source",
)
parser.add_argument("--service-type", help="Service to update")
@ -341,6 +365,11 @@ def main():
action="store_true",
help="Whether to update service-based-view"
)
parser.add_argument(
"--update-zuul",
action="store_true",
help="Whether to update zuul.yaml"
)
parser.add_argument(
"--overwrite-index-sbv",
action="store_true",