Compare commits

...

32 Commits

Author SHA1 Message Date
03ecab9755 Rename tox target for pdf build
All checks were successful
gl/check check status: success (03ecab9755562d7f4efc3c3b914b787c73a48eb8)
zuul jobs require target to be called pdf-docs instead of docs-pdf
2023-03-23 12:37:25 +01:00
ec59663c39 Include pdf filenames into zuul config
Zuul jobs expect to know PDF filenames to be fetching from artifacts.
Best way is to include them into the project config while managing zuul
config.
2023-03-23 12:37:25 +01:00
b52b0bb5e0 Change html_link for PFS and Perms Guide
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-03-13 14:42:24 +00:00
ccfbd0c235 dli_repo
Reviewed-by: Gode, Sebastian <sebastian.gode@telekom.de>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2023-03-10 12:43:56 +00:00
28baf2213e Update 'tools-requirements.txt'
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@telekom.de>
Co-committed-by: Gode, Sebastian <sebastian.gode@telekom.de>
2023-03-10 11:39:44 +00:00
6779395a19 pfs_folder_fix
Reviewed-by: Gode, Sebastian <sebastian.gode@telekom.de>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2023-03-08 11:47:21 +00:00
4e34a4fa80 adding new documentation type for OBS
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-02-22 08:56:11 +00:00
c037ca9a53 Fixed spelling of MapReduce Service
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@telekom.de>
Co-committed-by: Gode, Sebastian <sebastian.gode@telekom.de>
2023-02-21 10:46:34 +00:00
8de5c8ba57 add get_service_with_docs_by_service_type()
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-02-21 10:44:51 +00:00
e06e27d0e0 add PLAS title
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-02-21 08:41:44 +00:00
148e88184e change Cloud Container Service to Engine
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-02-21 07:21:58 +00:00
dd76d849f0 disabling visibility of ddm and cci services
Reviewed-by: vladimirhasko <vladimirhasko@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-02-15 23:29:42 +00:00
8d34f223e9 adding cci service metadata
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-02-14 10:06:15 +00:00
2e4ab3ec77 adding metadata for new repository
Reviewed-by: vladimirhasko <vladimirhasko@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-02-14 00:32:53 +00:00
3fc3610cb5 added new ddm service, obs pfs document, modelarts sdk document metadata
Reviewed-by: Kvrivishvili, Iustina <iustina.kvrivishvili@t-systems.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-02-10 10:23:12 +00:00
83b42c8053 adding swift metadata
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-02-01 07:41:04 +00:00
eb996cfbfc Replacing shutil copytree by dirsync
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-30 07:52:19 +00:00
ccd8ac5fcb adding link for dws tool guide
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-23 12:44:02 +00:00
c5b22fe720 fixing natgw old hc location
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-23 11:40:48 +00:00
9c7a933e0c smg fix
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-19 18:55:13 +00:00
d04569f7ca Secure Mail Gateway addon
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-19 13:55:53 +00:00
aa1dccf219 include public images in ims docs
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: gtema <artem.goncharov@gmail.com>
Co-committed-by: gtema <artem.goncharov@gmail.com>
2023-01-19 08:52:02 +00:00
78e982b20c removing DAS service
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-18 17:22:20 +00:00
6c4bcbd6db removing cdn from metadata
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-18 16:00:18 +00:00
e380347dd0 adding mycredential document metadata
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-18 13:46:31 +00:00
b02b97f5c3 added new documentation entry
Reviewed-by: Kucerak, Kristian <kristian.kucerak@t-systems.com>
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-01-13 15:06:35 +00:00
07b3c97d7d Update tox template
Reviewed-by: Goncharov, Artem <artem.goncharov@t-systems.com>
Co-authored-by: gtema <artem.goncharov@gmail.com>
Co-committed-by: gtema <artem.goncharov@gmail.com>
2023-01-09 08:27:08 +00:00
641ec7ddd2 update gitcontrol repo template
Reviewed-by: Goncharov, Artem <artem.goncharov@t-systems.com>
Co-authored-by: gtema <artem.goncharov@gmail.com>
Co-committed-by: gtema <artem.goncharov@gmail.com>
2023-01-03 09:17:55 +00:00
7eff19f3cd update tox.ini template
Reviewed-by: Goncharov, Artem <artem.goncharov@t-systems.com>
Co-authored-by: gtema <artem.goncharov@gmail.com>
Co-committed-by: gtema <artem.goncharov@gmail.com>
2023-01-03 09:03:19 +00:00
ba65aca9eb Update 'zuul.yaml'
Reviewed-by: Goncharov, Artem <artem.goncharov@t-systems.com>
Co-authored-by: gtema <artem.goncharov@gmail.com>
Co-committed-by: gtema <artem.goncharov@gmail.com>
2023-01-02 18:56:58 +00:00
e0dc83ddc4 Merge pull request 'removing pdf from DDS API and DWS UMN as causing the jobs failing' (#10) from pdf_skip into main
Reviewed-on: #10
Reviewed-by: Kucerak, Kristian <kristian.kucerak@t-systems.com>
2022-12-12 12:41:49 +00:00
6c49cd3160 removing pdf from DDS API and DWS UMN as causing the jobs failing 2022-12-11 16:27:20 +00:00
24 changed files with 464 additions and 365 deletions

View File

@ -1,3 +1,3 @@
[DEFAULT] [DEFAULT]
test_path=./otc-metadata/tests test_path=./otc_metadata/tests/
top_dir=./ top_dir=./

View File

@ -28,6 +28,7 @@ def read_data(filename):
with open(filepath, 'r') as fd: with open(filepath, 'r') as fd:
return yaml.safe_load(fd) return yaml.safe_load(fd)
def rewrite_data(filename, data): def rewrite_data(filename, data):
"""Rewrites data formatting it """Rewrites data formatting it

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@ import copy
import otc_metadata.data import otc_metadata.data
__all__ = ['Docs'] __all__ = ['Service']
BUILTIN_DATA = otc_metadata.data.read_data('docs.yaml') BUILTIN_DATA = otc_metadata.data.read_data('docs.yaml')

View File

@ -40,7 +40,8 @@ class Services(object):
# sort docs list by <service_type>_<title> # sort docs list by <service_type>_<title>
self._service_data["documents"] = sorted( self._service_data["documents"] = sorted(
sorted_docs, key=lambda x: f"{x.get('service_type')}{x.get('title')}" sorted_docs,
key=lambda x: f"{x.get('service_type')}{x.get('title')}"
) )
# sort services by <service_type>_<service_title> # sort services by <service_type>_<service_title>
self._service_data["services"] = sorted( self._service_data["services"] = sorted(
@ -183,7 +184,10 @@ class Services(object):
] ]
if "repositories" in srv and environment: if "repositories" in srv and environment:
for repo in srv["repositories"]: for repo in srv["repositories"]:
if "environment" in repo and repo["environment"] == environment: if (
"environment" in repo
and repo["environment"] == environment
):
srv_res["repository"] = repo["repo"] srv_res["repository"] = repo["repo"]
for doc in self.all_docs: for doc in self.all_docs:
if ( if (
@ -205,3 +209,22 @@ class Services(object):
doc_struct[srv["service_category"]].append(srv_res) doc_struct[srv["service_category"]].append(srv_res)
return dict(categories=doc_struct) return dict(categories=doc_struct)
def get_service_with_docs_by_service_type(self, service_type):
"""Retrieve service and service docs by service_type
:param str service_type: Filter by service_type
"""
res = dict()
res['service'] = {}
docs = []
services = self._service_data
for doc in services['documents']:
if doc['service_type'] == service_type:
docs.append(doc)
res['documents'] = docs
for service in services['services']:
if service['service_type'] == service_type:
res['service'] = service
break
return res

View File

@ -104,6 +104,9 @@ html_title = "{{ title }}"
# 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']
# Do not include sources into the rendered results
html_copy_source = False
# -- Options for PDF output -------------------------------------------------- # -- Options for PDF output --------------------------------------------------
latex_documents = [ latex_documents = [
{%- if pdf_name is defined %} {%- if pdf_name is defined %}

View File

@ -21,18 +21,28 @@ deps =
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
commands = {posargs} commands = {posargs}
# This env is invoked in the periodic pipeline and is therefore responsible to
# build all relevant docs at once.
[testenv:docs] [testenv:docs]
deps = -r{toxinidir}/doc/requirements.txt deps = -r{toxinidir}/doc/requirements.txt
allowlist_externals =
mkdir
cp
sh
commands = commands =
{%- for doc in docs %} {%- for doc in docs %}
{[testenv:{{ doc.type }}]commands} {[testenv:{{ doc.type }}]commands}
{[testenv:json-{{ doc.type }}]commands} {[testenv:json-{{ doc.type }}]commands}
{%- endfor %} {%- endfor %}
[testenv:docs-pdf] [testenv:pdf-docs]
deps = -r{toxinidir}/doc/requirements.txt deps = -r{toxinidir}/doc/requirements.txt
whitelist_externals = allowlist_externals =
rm
mkdir mkdir
make
bash
cp
commands = commands =
mkdir -p doc/build/pdf mkdir -p doc/build/pdf
{%- for doc in docs %} {%- for doc in docs %}
@ -46,7 +56,7 @@ commands =
# HTML version # HTML version
[testenv:{{ doc.type }}] [testenv:{{ doc.type }}]
deps = -r{toxinidir}/doc/requirements.txt deps = -r{toxinidir}/doc/requirements.txt
whitelist_externals = allowlist_externals =
cp cp
mkdir mkdir
commands = commands =
@ -65,14 +75,15 @@ commands =
# Json version (for search) # Json version (for search)
[testenv:json-{{ doc.type }}] [testenv:json-{{ doc.type }}]
deps = -r{toxinidir}/doc/requirements.txt deps = -r{toxinidir}/doc/requirements.txt
whitelist_externals = allowlist_externals =
cp cp
mkdir mkdir
find sh
commands = commands =
sphinx-build -W --keep-going -b json {{ loc }}/source doc/build/json/{{ doc.type }} sphinx-build -W --keep-going -b json {{ loc }}/source doc/build/json/{{ doc.type }}
# Drop data useless for the search # Drop data useless for the search - wrap it also with sh/xargs due to bugs
find doc/build/json -type d -and ( -name '_images' -or -name '_static' -or -name '_sources' ) -exec rm {:} ; # 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' %} {%- if doc.type == 'api-ref' %}
mkdir -p api-ref/build/json mkdir -p api-ref/build/json
cp -av doc/build/json/api-ref api-ref/build/json cp -av doc/build/json/api-ref api-ref/build/json
@ -88,7 +99,7 @@ commands =
# PDF version # PDF version
[testenv:{{ doc.type }}-pdf-docs] [testenv:{{ doc.type }}-pdf-docs]
deps = -r{toxinidir}/doc/requirements.txt deps = -r{toxinidir}/doc/requirements.txt
whitelist_externals = allowlist_externals =
rm rm
mkdir mkdir
make make

View File

@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright 2010-2011 OpenStack Foundation
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from unittest import TestCase
class TestCase(TestCase):
"""Test case base class for all unit tests."""

View File

@ -19,10 +19,10 @@ test_otc-metadata
Tests for `otc-metadata` module. Tests for `otc-metadata` module.
""" """
from otc-metadata.tests import base from unittest import TestCase
class TestOtc-metadata(base.TestCase): class TestOtcMetadata(TestCase):
def test_something(self): def test_something(self):
pass pass

View File

@ -1,11 +1,11 @@
[metadata] [metadata]
name = otc-metadata name = otc-metadata
summary = Metadata about OTC for Ecosystem summary = Metadata about OTC for Ecosystem
description-file = description_file =
README.rst README.rst
author = Open Telekom Cloud author = Open Telekom Cloud
home-page = https://open.telekom.cloud/ home_page = https://open.telekom.cloud/
python-requires = >=3.6 python_requires = >=3.6
classifier = classifier =
Environment :: OpenStack Environment :: OpenStack
Intended Audience :: Information Technology Intended Audience :: Information Technology

View File

@ -11,7 +11,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools import setuptools
setuptools.setup( setuptools.setup(

View File

@ -2,9 +2,6 @@
# of appearance. Changing the order has an impact on the overall integration # of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later. # process, which may cause wedges in the gate later.
hacking>=3.0,<3.1 # Apache-2.0 stestr>=2.0.0 # Apache-2.0
testtools>=2.2.0 # MIT
coverage>=4.0,!=4.4 # Apache-2.0 flake8
python-subunit>=0.0.18 # Apache-2.0/BSD
stestr>=1.0.0 # Apache-2.0
testtools>=1.4.0 # MIT

View File

@ -1,2 +1,6 @@
GitPython GitPython
ruamel ruamel.yaml
requests
jinja2
dirsync
cookiecutter

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,3 @@
import copy
import re import re
import otc_metadata.services import otc_metadata.services
@ -7,21 +6,17 @@ from ruamel.yaml import YAML
data = otc_metadata.services.Services() data = otc_metadata.services.Services()
new_data = data._service_data new_data = data._service_data
#services = data.service_dict # services = data.service_dict
for doc in new_data["documents"]: for doc in new_data["documents"]:
hc_location = None hc_location = None
link = doc.get("link") link = doc.get("link")
if link: if link:
print(f"Parsing {link}") print(f"Parsing {link}")
#(p1, p2) = link.split("/") # (p1, p2) = link.split("/")
doc["link"] = re.sub( doc["link"] = re.sub(r"/(.*)/(.*)/", r"/\2/\1/", link)
r"/(.*)/(.*)/",
r"/\2/\1/",
link
)
_yaml = YAML() _yaml = YAML()
_yaml.indent(mapping=2, sequence=4, offset=2) _yaml.indent(mapping=2, sequence=4, offset=2)
with open('new.yaml', 'w') as fd: with open("new.yaml", "w") as fd:
_yaml.dump(new_data, fd) _yaml.dump(new_data, fd)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,9 @@ def main():
_yaml = YAML() _yaml = YAML()
_yaml.indent(mapping=2, sequence=4, offset=2) _yaml.indent(mapping=2, sequence=4, offset=2)
sys.stdout.write("# Auto-generated by otc_metadata.generate_docexports.data\n") sys.stdout.write(
"# Auto-generated by otc_metadata.generate_docexports.data\n"
)
_yaml.dump(data.docs_html_by_category("internal"), sys.stdout) _yaml.dump(data.docs_html_by_category("internal"), sys.stdout)

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
import copy # import copy
import otc_metadata.services import otc_metadata.services
from ruamel.yaml import YAML # from ruamel.yaml import YAML
data = otc_metadata.services.Services() data = otc_metadata.services.Services()

File diff suppressed because it is too large Load Diff

View File

@ -15,15 +15,15 @@
import argparse import argparse
import logging import logging
import os # import os
import pathlib import pathlib
import requests import requests
import subprocess import subprocess
import warnings # import warnings
from git import exc from git import exc
from git import Repo from git import Repo
from git import SymbolicReference # from git import SymbolicReference
from ruamel.yaml import CommentedMap from ruamel.yaml import CommentedMap
from ruamel.yaml import YAML from ruamel.yaml import YAML
@ -72,7 +72,7 @@ def process_repositories(args, service):
workdir.mkdir(exist_ok=True) workdir.mkdir(exist_ok=True)
copy_to = None copy_to = None
repo_to = None # repo_to = None
for repo in service["repositories"]: for repo in service["repositories"]:
logging.debug(f"Processing repository {repo}") logging.debug(f"Processing repository {repo}")
@ -130,6 +130,7 @@ def process_repositories(args, service):
zuul_templates = None zuul_templates = None
zuul_jobs = dict() zuul_jobs = dict()
zuul_new_jobs = list() zuul_new_jobs = list()
zuul_vars = dict()
zuul_config_updated = False zuul_config_updated = False
for item in zuul_config: for item in zuul_config:
if "project" in item.keys(): if "project" in item.keys():
@ -137,10 +138,11 @@ def process_repositories(args, service):
zuul_templates = project.setdefault("templates", []) zuul_templates = project.setdefault("templates", [])
if not zuul_templates: if not zuul_templates:
zuul_templates = [] zuul_templates = []
zuul_vars = project.setdefault("vars", {})
elif "job" in item.keys(): elif "job" in item.keys():
job = item["job"] job = item["job"]
zuul_jobs[job["name"]] = job zuul_jobs[job["name"]] = job
print(f"Existing jobs {zuul_jobs}") logging.debug(f"Existing jobs {zuul_jobs}")
if "helpcenter-base-jobs" not in zuul_templates: if "helpcenter-base-jobs" not in zuul_templates:
zuul_templates.append("helpcenter-base-jobs") zuul_templates.append("helpcenter-base-jobs")
zuul_config_updated = True zuul_config_updated = True
@ -148,6 +150,7 @@ def process_repositories(args, service):
job_suffix = ( job_suffix = (
"-hc-int-jobs" if args.environment == "internal" else "-hc-jobs" "-hc-int-jobs" if args.environment == "internal" else "-hc-jobs"
) )
sphinx_pdf_files = zuul_vars.setdefault('sphinx_pdf_files', [])
for doc in data.docs_by_service_type(service["service_type"]): for doc in data.docs_by_service_type(service["service_type"]):
logging.debug(f"Analyzing document {doc}") logging.debug(f"Analyzing document {doc}")
if not doc.get("type"): if not doc.get("type"):
@ -156,6 +159,12 @@ def process_repositories(args, service):
doc_type = "dev-guide" doc_type = "dev-guide"
else: else:
doc_type = doc["type"] doc_type = doc["type"]
# Collect all PDF files into sphinx_pdf_files var
pdf_name = doc.get('pdf_name')
if pdf_name and f"{pdf_name}.pdf" not in sphinx_pdf_files:
sphinx_pdf_files.append(f"{pdf_name}.pdf")
zuul_config_updated = True
template_name = f"{doc_type}{job_suffix}" template_name = f"{doc_type}{job_suffix}"
if doc_type in ["api-ref", "umn", "dev-guide"]: if doc_type in ["api-ref", "umn", "dev-guide"]:
if template_name not in zuul_templates: if template_name not in zuul_templates:
@ -190,6 +199,7 @@ def process_repositories(args, service):
if "project" in item.keys(): if "project" in item.keys():
project = item["project"] project = item["project"]
project["templates"] = zuul_templates project["templates"] = zuul_templates
project["vars"] = zuul_vars
# Ensure new jobs are in check # Ensure new jobs are in check
if len(zuul_new_jobs) > 0: if len(zuul_new_jobs) > 0:
project.setdefault( project.setdefault(
@ -208,8 +218,7 @@ def process_repositories(args, service):
project["check"]["jobs"].extend( project["check"]["jobs"].extend(
[x["job"]["name"] for x in zuul_new_jobs]) [x["job"]["name"] for x in zuul_new_jobs])
# yaml.indent(offset=2, sequence=2)
#yaml.indent(offset=2, sequence=2)
with open(zuul_file_name, "w") as f: with open(zuul_file_name, "w") as f:
yaml.dump(zuul_config, f) yaml.dump(zuul_config, f)
git_repo.index.add([zuul_file_name.name]) git_repo.index.add([zuul_file_name.name])
@ -223,7 +232,8 @@ def process_repositories(args, service):
git_repo.index.commit( git_repo.index.commit(
( (
"Update zuul.yaml file\n\n" "Update zuul.yaml file\n\n"
"Performed-by: gitea/infra/otc-metadata/tools/update_zuul_project_config.py" "Performed-by: gitea/infra/otc-metadata"
"/tools/update_zuul_project_config.py"
) )
) )
push_args = ["--set-upstream", "origin", branch_name] push_args = ["--set-upstream", "origin", branch_name]

34
tox.ini
View File

@ -1,56 +1,26 @@
[tox] [tox]
minversion = 3.2.0 minversion = 3.2.0
envlist = py39,pep8 envlist = py3,pep8
skipsdist = True
ignore_basepython_conflict = true ignore_basepython_conflict = true
[testenv] [testenv]
basepython = python3 basepython = python3
usedevelop = True usedevelop = True
setenv = setenv =
PYTHONWARNINGS=default::DeprecationWarning PYTHONWARNINGS=default::DeprecationWarning
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
OS_TEST_TIMEOUT=60
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs} commands = stestr run {posargs}
[testenv:lower-constraints]
deps = -r{toxinidir}/test-requirements.txt
[testenv:pep8] [testenv:pep8]
commands = flake8 {posargs} commands = flake8 {posargs}
[testenv:venv] [testenv:venv]
commands = {posargs} commands = {posargs}
[testenv:cover]
setenv =
VIRTUAL_ENV={envdir}
PYTHON=coverage run --source otc_metadata --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -b html doc/source doc/build/html
[testenv:releasenotes]
deps = {[testenv:docs]deps}
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:debug]
commands = oslo_debug_helper {posargs}
[flake8] [flake8]
# E123, E125 skipped as they are invalid PEP-8. # E123, E125 skipped as they are invalid PEP-8.
show-source = True show-source = True
ignore = E123,E125 ignore = E123,E125,W503
builtins = _ builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build

View File

@ -1,19 +1,11 @@
- project: - project:
merge-mode: squash-merge merge-mode: squash-merge
default-branch: master default-branch: main
templates:
- publish-to-pypi
- publish-otc-docs-hc-pti
- release-notes-jobs
check: check:
jobs: jobs:
- otc-tox-pep8 - otc-tox-pep8
- otc-tox-py38
- otc-tox-py39 - otc-tox-py39
- tox-functional
gate: gate:
jobs: jobs:
- otc-tox-pep8 - otc-tox-pep8
- otc-tox-py38
- otc-tox-py39 - otc-tox-py39
- tox-functional